Задать вопрос
DMityaev
@DMityaev
системный аналитик

Возможно ли в одной выборке вывести несколько COUNT`ов с условием?

Можно ли в PL SQL сделать что-то типа этого:

Select
a,
b,
c,
COUNT (D ****** WHERE D = 'tino'),
COUNT (D ****** WHERE D = 'tipo'),
COUNT (D ****** WHERE D = 'tiko')

FROM
TABLE A
JOIN TABLE B ON a.id = b.id

GROUP BY ******

Вообще, может ли COUNT как-то с условием работать?
Или какие есть альтернативные способы?

Мне нужно в одном отчете вывести несколько количеств, суммированных по условиям (суммировать только с кодами 'tino', 'tipo' и 'tiko')
  • Вопрос задан
  • 799 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
erge
@erge
Примус починяю
а взять и просто написать, вместо того чтобы спрашивать?
COUNT не считает NULL
SELECT
    key,
    count(DECODE(value, 'tino',1, NULL)) AS tino,
    count(DECODE(value, 'tipo',1, NULL)) AS tipo,
    count(DECODE(value, 'tiko',1, NULL)) AS tiko
  FROM table1
  GROUP BY key


см. на sqlfiddle
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы