类似于这种
people表
+------------+------------+
| department | name |
+------------+------------+
| 1 | zhangsan |
| 1 | lisi |
| 2 | wangwu |
| 2 | zhaoliu |
+------------+------------+
department表
+------+--------+
| id | name |
+------+----- -+
| 1 | dept1 |
| 2 | dept2 |
+------+------ +我写的sql查询出来的结果:第三列为某人所属部门的人头数
select p.name, d.name, c.c from people p, department d, (select count(nam
e) c, department from people group by department) c where p.department = d.id an
d p.department = c.department;
+------------+------+---+
| name | name | c |
+------------+------+---+
| zhangsan | dept1| 2 |
| lisi | dept1| 2 |
| wangwu | dept2| 2 |
| zhaoliu | dept2| 2 |
+------------+------+---+
但是我需要的结果是:即每个部门只有第一个人有部门人数这一列
+------------+------+---+
| name | name | c |
+------------+------+---+
| zhangsan | dept1| 2 |
| lisi | dept1| |
| wangwu | dept2| 2 |
| zhaoliu | dept2| |
+------------+------+---+请问应该怎么写sql,谢谢sql
people表
+------------+------------+
| department | name |
+------------+------------+
| 1 | zhangsan |
| 1 | lisi |
| 2 | wangwu |
| 2 | zhaoliu |
+------------+------------+
department表
+------+--------+
| id | name |
+------+----- -+
| 1 | dept1 |
| 2 | dept2 |
+------+------ +我写的sql查询出来的结果:第三列为某人所属部门的人头数
select p.name, d.name, c.c from people p, department d, (select count(nam
e) c, department from people group by department) c where p.department = d.id an
d p.department = c.department;
+------------+------+---+
| name | name | c |
+------------+------+---+
| zhangsan | dept1| 2 |
| lisi | dept1| 2 |
| wangwu | dept2| 2 |
| zhaoliu | dept2| 2 |
+------------+------+---+
但是我需要的结果是:即每个部门只有第一个人有部门人数这一列
+------------+------+---+
| name | name | c |
+------------+------+---+
| zhangsan | dept1| 2 |
| lisi | dept1| |
| wangwu | dept2| 2 |
| zhaoliu | dept2| |
+------------+------+---+请问应该怎么写sql,谢谢sql
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货