Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сложный подсчет количества / 3 сообщений из 3, страница 1 из 1
22.11.2013, 01:58:39
    #38473662
registerers
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный подсчет количества
Дана таблица
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 |__id_|_gid_| 
|__1__|__0__|
|__1__|__0__|
|__1__|__1__|
|__1__|__1__|
|__1__|__2__|
|__1__|__2__|
|__2__|__0__|
|__2__|__0__|
|__2__|__3__|
|__2__|__3__|
|__2__|__4__|
|__2__|__4__|
|__2__|__4__|
|__2__|__5__|
|__2__|__5__|

где id - некий идентификатор, gid - идентификатор группы.

Нужно подсчитать количество записей с каждым из айди (поле id), при котором записи с gid = 0 рассматриваются как отдельные элементы, а группы с gid <> 0 - как одна единица. Т.е. в итоге должна получиться таблица вида:

Код: plaintext
1.
2.
3.
 |__id_|_gid_| 
|__1__|__4__|
|__2__|__5__|

Можно ли данный запрос составить с одним SELECT'ом?
...
Рейтинг: 0 / 0
22.11.2013, 04:53:12
    #38473686
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный подсчет количества
Код: sql
1.
2.
3.
4.
5.
select 
  id,
  count(distinct git) + GERATEST(sum(git=0) - 1,0) x
from tbl
group by id
...
Рейтинг: 0 / 0
22.11.2013, 13:56:36
    #38474333
registerers
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный подсчет количества
javajdbc, спасибо, сразу не догадался!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сложный подсчет количества / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]