本文主要是介绍sql sum,group by 分组求和后在求总和,with rollup,with cube的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有表数据如下:
create table tt(name varchar(10),num decimal(18,2),ph int)insert into tt(name,num,ph) values ('test1',10,1)insert into tt(name,num,ph) values ('test1',30,1)insert into tt(name,num,ph) values ('test1',50.5,3)insert into tt(name,num,ph) values ('test2',60,2)insert into tt(name,num,ph) values ('test2',2.65,2)insert into tt(name,num,ph) values ('test2',66.8,3)select * from tt
想要根据name,ph字段分组 求 num 总和
使用聚合函数sum+group by
select name,ph,sum(num) as num from tt group by name,ph order by name
得到结果
怎样得到相同name的 总 num 呢?
1,使用 WITH ROLLUP,此函数是对聚合函数进行求和,注意 with rollup是对 group by 后的第一个字段,进行分组求和
select name,ph,sum(num) as num from tt group by name,ph WITH rollup
结果如图:
2,使用 with cube
select name,ph,sum(num) as num from tt group by name,ph with cube
该函数是对group by 后的所有字段进行 分组求和,顺序为group by后的字段从右到左,分组求和
童鞋们,这个截图和解释 应该很详细了,想必大家都可以看的懂吧,有不懂的可以私信dd
这篇关于sql sum,group by 分组求和后在求总和,with rollup,with cube的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!