作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为以下用户表编写一个 SELECT 查询,该表计算一个用户监督的其他人的数量,然后将他们的姓名与他们监督的人数一起返回为两列,“SupervisorName”和“NoStaff”:
CREATE TABLE User (
userID VARCHAR(10) NOT NULL,
userName VARCHAR(100) NULL,
dateOfJoin DATE NOT NULL,
DepIDREF VARCHAR(10) NOT NULL,
userSupervisor VARCHAR(10) NULL,
PRIMARY KEY (userID),
FOREIGN KEY (DepIDREF)
REFERENCES Department (DepID)
);
INSERT INTO User VALUES
('a10', 'Ava Perrier', '1983-06-17', 'dep10', 'e8'),
('e11', 'Ella Moncada', '1982-02-15', 'dep20', 'k1'),
('e8', 'Emily Afonso', '1985-01-12', 'dep40', 't6'),
('h3', 'Harry Moncada', '1990-03-25', 'dep10', 'null'),
('i9', 'Isla Schmitt', '1984-07-18', 'dep40', 'e8'),
('j2', 'Jack Simpson', '1985-07-30', 'dep10', 'k1'),
('k1','Karim Mualla','1986-10-16','dep10', 'null'),
('n4', 'Noah Domingues', '1989-12-05', 'dep20', 'k1'),
('o7', 'Oscar Cruz', '1986-09-11', 'dep40', 't6'),
('t6','Thomas Carvalho', '1987-04-27', 'dep30', 'w5'),
('w5', 'William Batista', '1988-05-22', 'dep20', 'h3');
我目前写的查询如下:
SELECT userName AS SupervisorName, count(userID) AS NoStaff
FROM User WHERE userSupervisor IS NOT NULL GROUP BY userSupervisor;
然而,这个查询的结果似乎返回了每个不监督某人的人的名字以及一个我不太明白其计算结果的数字。我尝试了此查询的多种变体,交换 userID 和 userSupervisor 等,但大多数情况下我得到的结果相同。
如有任何帮助,我们将不胜感激(我发现 SQL 非常令人困惑...)。
最佳答案
您需要使用 userid
和 userSupervisor
字段自行加入 user
表,以获取受监管的用户列表主管,然后你可以通过以下方式进行分组:
select u1.userid, u1.userName as supervisor, count(u2.userid) as no_staff
from user u1
left join user u2 on u1.userid=u2.userSupervisor
group by u1.userid, u1.userName
如果您只想获取那些监督至少 1 个其他用户的用户的列表,请将 left join
更改为 inner join
。
关于mysql - 按受监督员 worker 数分组的 SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42788858/
我见过构建 supervisor 的构建方法进入扩建,我想控制里面的守护进程。但是,在我看来,仍然需要/etc/init.d 中的某些内容(例如)才能在启动时运行所述主管实例。 那么,为什么要在 bu
我是一名优秀的程序员,十分优秀!