Как использовать Group By на основе оператора Case в Oracle?

У меня есть запрос SQL -, в котором я использую Oracle CASEдля сравнения, если столбец даты меньше или больше текущей даты. Но как мне это использоватьCASE-заявление вGROUP BY-утверждение? Я хотел бы посчитать записи в каждом случае.

Например.

select
    (case
        when exp_date > sysdate then 1
        when exp_date <= sysdate then 2
        else 3
     end) expired, count(*)
from mytable
group by expired

Но я получаю сообщение об ошибке при попытке:ORA-00904. Какие-либо предложения?

10
задан Jonas 4 July 2012 в 08:28
поделиться