今天学习 Oracle 数据库的时候,碰到了多表查询的 groub by 语句,语句如下:
select d.deptno, d.dname, count(e.empno)
from emp e, dept d
where e.deptno = d.deptno
group by d.deptno , d.dname
对多个列进行分组,很是不理解。后来百度了一些博客,勉强理解,希望对大家有所帮助。
查询每个部门的每种职位的雇员数
select deptno,job,count(*) from emp group by deptno,job
/****************************************************************
记住这就行了:
在使用group by 时,有一个规则需要遵守,即出现在select列表中的字段,
如果没有在组函数中,那么必须出现在group by 子句中。
(select中的字段不可以单独出现,必须出现在group语句中或者在组函数中。)
参考文章:
2,数据库sql语句多表连接查询+group by分组的使用