请教用下面的语句取出来的值,能不能按照求和后的sum_eval的值来进行排序?select sum(sum_eval),s_i_code1,s_i_name1 from TMP_REP_3 t
where ROWNUM<3
group by s_i_code1,s_i_name1 执行后的结果如下:
sum(sum_eval) s_i_code1 s_i_name1
24637023.34 801070 机械设备
15002968.82 801200 商业贸易
5712000 801100 信息设备
where ROWNUM<3
group by s_i_code1,s_i_name1 执行后的结果如下:
sum(sum_eval) s_i_code1 s_i_name1
24637023.34 801070 机械设备
15002968.82 801200 商业贸易
5712000 801100 信息设备
(
select sum(sum_eval) as sum_eval,s_i_code1,s_i_name1 from TMP_REP_3 t
group by s_i_code1,s_i_name1
order by sum(sum_eval)
)
where rownum<3
select sum(sum_eval),s_i_code1,s_i_name1 from TMP_REP_3 t
where ROWNUM<3
group by s_i_code1,s_i_name1
order by sum(sum_eval) desc
ORA-00935: group function is nested too deeply
Cause: This is an internal error message not usually issued.
Action: Contact Oracle Support Services. 写成
select * from
(
select sum(sum_eval) as sum_eval,s_i_code1,s_i_name1 from TMP_REP_3 t
group by s_i_code1,s_i_name1
order by 1
)
where rownum<3
或
with tt as(
select sum(sum_eval) as sum_eval,s_i_code1,s_i_name1 from TMP_REP_3 t
group by s_i_code1,s_i_name1
order by sum_eval
)
select * from tt where rownum<3
试试