select 产品,大类,sum(数量) from test
group by rollup(大类,产品)

解决方案 »

  1.   

    to: ern(学习Oracle) rollup()怎么用啊?这个函数如何知道:产品,大类的关系呢?谢谢!
      

  2.   

    to: ern(学习Oracle) 试过了,结果不对啊!
      

  3.   

    参考以下一个例子:
    SELECT DECODE(GROUPING(department_name), 1, 'All Departments',
       department_name) AS department,
       DECODE(GROUPING(job_id), 1, 'All Jobs', job_id) AS job,
       COUNT(*) "Total Empl", AVG(salary) * 12 "Average Sal"
       FROM employees e, departments d
       WHERE d.department_id = e.department_id
       GROUP BY ROLLUP (department_name, job_id);DEPARTMENT                     JOB        Total Empl Average Sal
    ------------------------------ ---------- ---------- -----------
    Accounting                     AC_ACCOUNT          1       99600
    Accounting                     AC_MGR              1      144000
    Accounting                     All Jobs            2      121800
    Administration                 AD_ASST             1       52800
    Administration                 All Jobs            1       52800
    Executive                      AD_PRES             1      288000
    Executive                      AD_VP               2      204000
    Executive                      All Jobs            3      232000
    Finance                        FI_ACCOUNT          5       95040
    Finance                        FI_MGR              1      144000
    Finance                        All Jobs            6      103200
    .你的例子:
    select 产品,decode(grouping(大类),1,'合计',大类) from tabname group by rollup(大类);