有这样一个表 zid  dat  typ  orio orin  amt  eonum 
1    2013/04/19  1  4  r011  200  b1
2    2013/04/19  1  4  r011  300  b1
3    2013/04/18  1  6  r022  500  b3sql语句是这样SELECT eonum,DECODE(GROUPING_ID(zid),1,'小计',zid_0) zid_0,SUM(amt) FROM table GROUP BY eonum,ROLLUP(zid)结果是 
b1 1 200
b1 2 300
b1 小计 500
b3 3 500
b3 小计 500但是现在 我想要 查询加上 dat  typ  orio orin 这几字段  但是加上这几个字段 就会按那几个字段分组统计 我只想要按 eonum 这个字段分组 . 
SELECT dat  typ  orio orin,eonum,DECODE(GROUPING_ID(zid),1,'小计',zid_0) zid_0,SUM(amt) FROM table GROUP BY dat  typ  orio orin,eonum,ROLLUP(zid)
如果这样写的话 就不是只按eonum 分组统计了 ,求解决方法

解决方案 »

  1.   

    group by  eonum后,显示出来的一行数据实际上可能包含了多个dat  typ  orio orin,你觉得应该如何显示呢?
      

  2.   

    如果用SUM(AMT)OVER(PARTITION BY EONUM) 可以 但是小计 就不知道该怎么弄了
      

  3.   

    group by grouping sets((第一种分组的所有字段),(第二种分组的所有字段),.....)爱怎么分就怎么分。
      

  4.   


    我想达到的效果是 这样 1    2013/04/19  1  4  r011  200  b1
    2    2013/04/19  1  4  r011  300  b1
                           小计  500    
    3    2013/04/18  1  6  r022  500  b3
                           小计  500