技术帮
 

sum() 求和

本网站内容基本都是原创作品,未得到作者同意也欢迎转载
转载请注明出处:技术帮
说你呢,赶紧长按二维码,然后点击识别图中二维码

任何技术难题可进QQ群提问:【小崔说编程
对于提问的原则是:没有你不能问的,只有我不会答的

1472955908895017376.png说两句


sum()函数是对某个列进行求和的函数

经常配合group by进行分组求和使用


1473058358717068189.png 查看每个部门的薪水总和

select deptid ,sum(salary) salsum from employee group by deptid;

select deptid ,sum(distinct salary) salsum from employee group by deptid;

blob.png  blob.png


1473048237560058428.png 可以看到,针对每个部门进行分组,然后汇总求和各部门所有员工的薪水和值。

    distinct是排重求和,重复的项只取一次。


 各部门薪水求和后,再增加合计行

select  deptid ,sum(salary) salsum from employee group by rollup(deptid);

blob.png

1473048237560058428.png 可以看到,各部门求和后,又出现了第5行的合计行。



1473164453369029402.png 准备基础数据

该表定义了员工的销售业绩。

empid是员工编号;

deptid是部门编号;

salary是员工薪水;

drop table employee;
create table employee (empid int ,deptid int ,salary decimal(10,2));

insert into employee values(1,10,5500.00);
insert into employee values(2,10,4500.00);
insert into employee values(3,20,1900.00);
insert into employee values(4,20,4800.00);
insert into employee values(5,40,6500.00);
insert into employee values(6,40,14500.00);
insert into employee values(7,40,44500.00);
insert into employee values(8,50,6500.00);
insert into employee values(9,50,7500.00);
insert into employee values(10,50,7500.00);
insert into employee values(11,50,9500.00);
insert into employee values(12,40,14500.00);