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')
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 1
а взять и просто написать, вместо того чтобы спрашивать?
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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы