我有一个SQL查询,在这里我使用OracleCASE来比较日期列是否 小于 或 大于 当前日期。但是,如何在CASE-statement中使用该GROUP BY-statement?我想计算每种情况下的记录。
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。有什么建议?
ORA-00904
select (case when exp_date > sysdate then 1 when exp_date <= sysdate then 2 else 3 end) expired, count(*) from mytable group by (case when exp_date > sysdate then 1 when exp_date <= sysdate then 2 else 3 end)