Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Запрос на подсчет числа записей / 3 сообщений из 3, страница 1 из 1
06.03.2014, 20:50
    #38580569
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на подсчет числа записей
Появилась необходимость вывести агрегатные данные по таблице в виде: тип; общее число записей такого типа; число записей такого типа, имеющая определенный признак.
Попытался реализовать в виде запроса
Код: sql
1.
select o.tip,count(o.tab_id),count(o1.tab_id) from tab o,tab o1 where o.tip=o1.tip and o1.prizn=1 group by 1


В результате во второй и третьей колонках стали выдаваться одинаковые значения, соответствующие общему числу записей такого типа. Проблему обошел, но вопрос остался: можно ли одним запросом вывести не только число записей, но и число записей, удовлетворяющих условию (несколько count в одной строке).
...
Рейтинг: 0 / 0
07.03.2014, 06:25
    #38580743
Запрос на подсчет числа записей
можно. для этого нужно из where убрать условие o1.prizn=1, а в селект-листе посчитать сумму /количество от CASE:

Код: sql
1.
select o.tip,count(o.tab_id), sum(case when o1.prizn=1 then 1 end) as x_cnt from tab o,tab o1 where o.tip=o1.tip group by 1
...
Рейтинг: 0 / 0
07.03.2014, 20:41
    #38581558
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на подсчет числа записей
Спасибо
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Запрос на подсчет числа записей / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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