最近做一套面试题.看到里面一个数据库题目挺有意思.决定动手写一下SQL
自己动手写,发现自己的sql语句掌握的我也不是很好.拿来分享下.
现在又两个表 职工表Employee(Eno,Ename,Age,Sex,Salay,DNo)
部门表Dept(Dno,Danme,Mar_no)
现在需要查询每个部门男女职工的人数.显示(DNO,Dname,Sex,Count_Eno)并用一个sql语句实现.
来时看到这个题感觉就是两次grouby命令.
select dept.dno,dept.dname,employee.sex,count(sex)as count_eno from employee,dept
where dept.dno=employee.dno group by dept.dno,sex
可是一直都出现错误.一直不知道什么原因
出错的原因是 如果想group by 那么要显示的每个分组都要在group by中定义或是聚合函数.
select dept.dno,dept.dname,employee.sex,count(sex)as count_eno from employee,dept
where dept.dno=employee.dno group by dept.dno,dept.dname,employee.sex