51Testing软件测试论坛

标题: 使用sql语句操作oracle数据库时,什么情况下用group by [打印本页]

作者: yunji168    时间: 2016-5-14 19:32
标题: 使用sql语句操作oracle数据库时,什么情况下用group by
有两张表,一张是emp员工表,包括 员工编号,工资,入职日期,上级领导编号。另一张是dept部门表,包括部门编号,部门名称,部门地址。
问:查询emp表中,每个部门的编号,人数,最高工资,根据人数进行降序排列。
select deptno,count(*),max(sal)
from emp
group by deptno
order by count(*) desc;

什么情况下使用group by?
作者: 若尘_51    时间: 2016-5-16 08:43
一张是emp员工表,包括 员工编号,工资,入职日期,上级领导编号。另一张是dept部门表,包括部门编号,部门名称,部门地址。
这两张的字段不全吧~~    emp员工表应该含有部门编号才对啊
select deptno,count(*),max(sal)
from emp
group by deptno
order by count(*) desc;

这个select语句的作用是查找出每个部门(将每个部分作为一组,然后找出max(工资))最高的工资以及对应最高的工资的人数。
对于什么时候分组,用多就自然知道了。不是三言两语能说清
作者: yunji168    时间: 2016-5-16 19:16
若尘_51 发表于 2016-5-16 08:43
一张是emp员工表,包括 员工编号,工资,入职日期,上级领导编号。另一张是dept部门表,包括部门编号,部门 ...

看到每个部门字样要用group by 是吗?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2