聚合函数如何与group by函数一起使用
2个回答
展开全部
GROUP BY是按照什么分组,聚合函数,就是求取按照GROUP BY分组之后的聚合函数得到的值。
那么GROUP BY后边,可想而知,一定是语法中除了聚合函数之外,所以的字段了。
比如我们求和,使用SUM,表例如是员工表,部门表,员工表有员工编号,员工名,薪资,部门编号,部门表包含部门编号和部门名,求每个部门的薪资总额。
SELECT 部门名称, SUM(薪资) FROM 员工表, 部门表 WHERE 员工表.部门编号 = 部门表.部门编号 GROUP BY 部门名称
另外使用COUNT聚合函数计算每个部门的员工数量
SELECT 部门名称, COUNT(员工编号) FROM 员工表, 部门表 WHERE 员工表.部门编号 = 部门表.部门编号 GROUP BY 部门名称
另外如果是全表检索的情况下,比如求所有部门的员工总人数,是不需要GROUP BY的
SELECT COUNT(*) from 员工表
那么GROUP BY后边,可想而知,一定是语法中除了聚合函数之外,所以的字段了。
比如我们求和,使用SUM,表例如是员工表,部门表,员工表有员工编号,员工名,薪资,部门编号,部门表包含部门编号和部门名,求每个部门的薪资总额。
SELECT 部门名称, SUM(薪资) FROM 员工表, 部门表 WHERE 员工表.部门编号 = 部门表.部门编号 GROUP BY 部门名称
另外使用COUNT聚合函数计算每个部门的员工数量
SELECT 部门名称, COUNT(员工编号) FROM 员工表, 部门表 WHERE 员工表.部门编号 = 部门表.部门编号 GROUP BY 部门名称
另外如果是全表检索的情况下,比如求所有部门的员工总人数,是不需要GROUP BY的
SELECT COUNT(*) from 员工表
2011-05-24
展开全部
举个例子跟你说下吧:聚合函数比如avg()求平均值
select 班级,avg(成绩) from 学生表 group by 班号
这个就是一个联合使用,表示求每个班的平均分,有点像excel的分类汇总,按班级分类汇总,汇总项是成绩,汇总方式是求平均。如果不分组的话,求出的是所有学生的平均成绩,而不是每个班一个平均成绩
select 班级,avg(成绩) from 学生表 group by 班号
这个就是一个联合使用,表示求每个班的平均分,有点像excel的分类汇总,按班级分类汇总,汇总项是成绩,汇总方式是求平均。如果不分组的话,求出的是所有学生的平均成绩,而不是每个班一个平均成绩
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询