yunji168 发表于 2016-5-14 19:32:18

使用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:47

一张是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:07

若尘_51 发表于 2016-5-16 08:43
一张是emp员工表,包括 员工编号,工资,入职日期,上级领导编号。另一张是dept部门表,包括部门编号,部门 ...

看到每个部门字样要用group by 是吗?
页: [1]
查看完整版本: 使用sql语句操作oracle数据库时,什么情况下用group by