You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询问题:获取招聘超3人的招聘者姓名及未被招聘员工数

SQL查询问题排查与解决

原查询存在的问题

  • 语法错误:WHERE子句中不能使用聚合函数COUNT(T1.Name),WHERE的执行顺序早于GROUP BY分组聚合,此时聚合函数还未计算,会直接触发语法报错。
  • 关联逻辑错误:统计招聘者的招聘人数时,应当以招聘者维度为左表,关联被招聘者的Recruited_by字段,原SQL的关联条件和表选择逻辑相反,计数结果完全不符合预期。
  • 需求合并错误:你提出的两个需求输出维度完全不同,前者输出符合条件的招聘者列表,后者输出单个统计数值,无法合并到同一个查询返回结果。
  • 筛选逻辑不符合样本数据:你提供的示例数据中最高招聘人数为3人,HAVING COUNT(T1.Name) > 3的条件本身就不会匹配到任何结果。

需求1:输出招聘员工数超过3人的招聘者姓名

正确查询语句如下:

SELECT t1.Name AS 招聘者姓名, COUNT(t2.Person_id) AS 招聘人数
FROM TEST t1
LEFT JOIN TEST t2 ON t1.Person_id = t2.Recruited_by
GROUP BY t1.Person_id, t1.Name
HAVING COUNT(t2.Person_id) > 3;

基于你提供的样本数据,该查询无符合条件的返回结果,和预期一致。

需求2:统计未被任何人招聘的员工数量

正确查询语句如下:

SELECT COUNT(*) AS 未被招聘员工数
FROM TEST
WHERE Recruited_by IS NULL;

基于你提供的样本数据,该查询返回结果为2,对应人员为John Do、Mike Keen。

内容的提问来源于stack exchange,提问作者Jonezy Meszaros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:06:03