我想创建一个查询,从员工中选择first_name,count(*),其中department_id是唯一的,它计算不同部门中具有相同名称的人数。
为了表明这一点,这是我的表: department_id / first_name / ...其他列
1 / Sam / ...
1 / Sam / ...
2 / John / ...
2 / Sam / ...
3 / John / ...
所以,我应该得到结果:
Sam / 2
John / 2
(三个Sams,但是他们两个来自同一个部门,因为我们将它们视为一个部门)
我的架构:
+------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+----------------+
| dep_id | int(11) | YES | | NULL | |
| first_name | text | YES | | NULL | |
| salary | int(11) | YES | | NULL | |
| last_name | text | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
+------------+---------+------+-----+---------+----------------+
答案 0 :(得分:1)
据我所知,您需要按姓名和部门分组
select count(*),first_name from tableName group by first_name,department_id