如
select a,acnt,b,bcnt,sum(acnt),sum(bcnt) from test
这个 sum(acnt),sum(bcnt) 如何求?
不用group by 可以做到吗?
------解决方案--------------------
不分组求和,不能啊
------解决方案--------------------
可以用子查询
------解决方案--------------------
sum(acnt),sum(bcnt) 这个是所有的值汇总还是分组汇总?
------解决方案--------------------
可以使用开窗函数
sum(...) over(partition by...)
------解决方案--------------------
------解决方案--------------------
如果是要在最后一行添加汇总 那可以在上面查询了 union all 汇总就可以咯
------解决方案--------------------
一个union all就可以解决啊
像这样
- SQL code
SELECT * FROM emp;SELECT empno,sal FROM empUNION ALLSELECT NULL,SUM(sal) FROM emp;
------解决方案--------------------
------解决方案--------------------
rollup 可以用这个
------解决方案--------------------
可以看看用group by rollup来统计汇总
------解决方案--------------------
使用临时表!分组的结果放表1,最后再对表1做一次汇总,或者直接再加一层!
------解决方案--------------------
select a,acnt,b,bcnt,sum(acnt),sum(bcnt) from test
group by grouping sets((a,acnt,b,bcnt),())