作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张员工表。每个员工都有一个员工 ID。有些员工有一个主管字段,可链接回其他员工的 ID。现有员工10人,其中主管2人,每人主管4人。我正在尝试获取所有员工的名单以及他们监督的其他员工的数量。到目前为止,我似乎只能让主管和他们监管的人数显示出来。这是我的查询:
SELECT s.employee_name, COUNT(*)
FROM employee e
join employee s on e.supervisor_id= s.employee_id
group by s.
order by s.employee_name;
我尝试将 JOIN
更改为 RIGHT JOIN
,现在它会向我显示所有 10 名员工,其中两名主管显示他们管理着 4 名员工,但它显示了所有其他员工没有人监督,因为有 1 而不是 0。我确信这是我缺少的一些简单的东西。
示例数据:
employee_name, employee_name, supervisor_id,
'10111', 'Sydnee K. Stevens' NULL
'10870', 'Colton C. Rocha', '10111'
'11425', 'Astra V. Sharp','10111'
'12973', 'Melanie X. Rojas','10111'
'14451', 'Bethany Roman','10111'
'14597', 'Lydia Edwards', NULL
'16153', 'Selma Q. Conley', '14597'
'17730', 'Kristen B. Malone', '14597'
'17762', 'Barrett B. Bauer', '14597'
'18628', 'Shana Z. Flowers','14597'
最佳答案
我们使用选择来连接您的员工表,就像我们将其与真实表连接一样。该选择将包含所有supervisor_id以及supervisor_id字段中出现的次数(supervisor_id为空的记录将被忽略)。
SELECT e.employee_id, e.employee_name, s.supervising
FROM employee e
LEFT JOIN (SELECT supervisor_id, count(*) as supervising
FROM employee
WHERE supervisor_id is NOT NULL
GROUP BY supervisor_id) AS s
ON(e.employee_id = s.supervisor_id)
关于mysql - 列出mysql中所有员工及其监管的人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41990154/
我是一名优秀的程序员,十分优秀!