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

如何基于4张表用SQL查询各职业数量并标记热门学位

问题原因

你当前的查询存在两个核心问题:

  1. count(profession_id) > 2 as Popular 写法返回的是布尔类型的true/false值,无法输出你需要的Popular Degree文本结果
  2. 统计逻辑错误:你直接对Profession表的profession_id计数,统计的是Profession表本身的记录数,而非该学位在业务关联表provider_profession中的实际出现次数

正确查询语句

SELECT 
  p.profession,
  COUNT(pp.profession_id) AS profession_quantity,
  CASE 
    WHEN COUNT(pp.profession_id) > 2 THEN 'Popular Degree'
    ELSE '' -- 可根据需求修改不满足条件时的默认输出值
  END AS popular_tag
FROM Profession p
LEFT JOIN provider_profession pp 
  ON p.profession_id = pp.profession_id
GROUP BY p.profession_id, p.profession

改动说明

  • 用CASE WHEN条件分支实现自定义文本输出,满足计数>2的条件时返回指定的Popular Degree
  • 改用LEFT JOIN关联两张表,统计每个学位在关联表中真实的出现次数,也不会漏掉没有关联记录的学位
  • 分组时加入profession_id字段,避免不同学位出现重名时聚合统计错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:09:03