@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')
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

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