select art_no,max(sum(SALE_AMOUNT)) from tb_fin_art_stock where RUN_DATE between to_date('01-mar-08','dd-mon-yy') and to_date('20-may-08','dd-mon-yy') group by art_no;
我的目的就是想知道 RUN_DATE between '01-mar-08' and '20-may-08' 这个时间段里面,max(sum(SALE_AMOUNT) )对应的 art_no 值
我的语句 : select art_no,sum(SALE_AMOUNT) from tb_fin_art_stock where RUN_DATE between '01-mar-08' and '20-may-08' and rownum=1 group by art_no order by SALE_AMOUNT;
SQL> select a.art_no,max(sum1) from ( select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between '01-mar-08' and '20-may-08' ) a group by a.art_no;
select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between '01-mar-08' and '20-may-08' ) a * ERROR at line 2: ORA-00937: not a single-group group function
楼主是想知道先分组求和,然后再找哪个MAX 这样就行了 select a.* from ( select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between '01-mar-08' and '20-may-08' order by 2 desc
select a.art_no from ( select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between '01-mar-08' and '20-may-08' group by art_no order by sum1 desc
select a.* from ( select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between to_date('20080501') and to_date('20080520') group by art_no order by sum1 desc ) a where rownum=1
select max(sum(SALE_AMOUNT) ¦ ¦ '_' ¦ ¦ art_no) from tb_fin_art_stock where RUN_DATE between to_date('20080501') and to_date('20080520') group by art_no
select a.art_no,max(a.sum1) from ( select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between '01-mar-08' and '20-may-08' group by art_no) a group by a.art_no; 这样应该没问题了...子查询完成了将tb_fin_art_stock 表中的数据按art_no分组后求和的任务..在外层的查询将和最大的srt_no和值显示
按照楼主的意思,这样写肯定是对的 select a.* from ( select art_no,sum(SALE_AMOUNT) as sum1 from tb_fin_art_stock where RUN_DATE between to_date('20080501','yyyy-mm-dd') and to_date('20080520','yyyy-mm-dd') group by art_no order by sum1 desc ) a where rownum=1
select art_no,max(sums) from (select art_no,sum(SALE_AMOUNT) as sums from tb_fin_art_stock where RUN_DATE between to_date('01-mar-08','dd-mon-yy') and to_date('20-may-08','dd-mon-yy') group by art_no) as tbview