在oracle数据库中是一个“table_one”:
COL1 COL2
-----------------
2 4
2 1
13 14
13 15
我有这个问题:
SELECT col1, sum(col2) FROM table_one GROUP BY ROLLUP(col1, col2);
查询执行后我有:
------------
2 1
2 4
2 5
13 14
13 15
13 29
34
但我需要另一种方式,像这样:
------------
2 1
2 4
2 5
13 14
13 15
13 29
没有所有列的摘要 我如何更改我的查询......?
最佳答案
有两种方法可以解决这个问题。第一种是使用分组集来准确定义要创建的汇总组。
在这种情况下,您可以使用以下查询定义对 (col1) 和 (col1, col2) 进行分组:
select col1, sum(col2)
from table_one
group by grouping sets ((col1), (col1, col2))
否则,您可以使用以下查询按 col1 分组并在 col2 上汇总:
select col1, sum(col2)
from table_one
group by col1, rollup(col2)
这两个查询都应该产生您需要的输出。
关于sql - 在查询中使用 ROLLUP...小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530896/