【发布时间】:2015-09-07 13:48:40
【问题描述】:
我正在写下面的查询,它将两个选择查询相除并计算百分比。但我收到not a single-group group function 的错误
select CASE WHEN COUNT(*) = 0 THEN 0 ELSE round((r.cnt / o.cnt)*100,3) END from
(Select count(*) as cnt from O2_CDR_HEADER WHERE STATUS NOT IN(0,1) and DATE_CREATED > (SYSDATE - 1)) r cross join
(Select count(*) as cnt from O2_CDR_HEADER WHERE DATE_CREATED > (SYSDATE - 1)) o;
【问题讨论】:
-
@GordonLinoff
r在cross join之前定义。 -
如果您以可读的方式格式化代码会更容易判断。
标签: sql oracle group-by case-when