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

У меня есть SQL-запрос, где я использую OracleCASE сравнить, если столбец датыless than или жеgreater than текущая дата. Но как мне это использовать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, Какие-либо предложения?

Ответы на вопрос(3)

Ваш ответ на вопрос