gpt4 book ai didi

MySQL Join 和 COUNT(*) 查询

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:46 26 4
gpt4 key购买 nike

我有一个问题。解决方案归结为我缺乏 SQL 知识。我有 2 个表。

Table : Jobs
+---+----------+
|ID | JobName |
+---+----------+
| 1 | Tinker |
| 2 | Tailor |
| 3 | Soldier |
| 4 | Sailor |
+---+----------+

Table : Applied
+---+--------------+--------+
|ID | JobAppliedID | Name |
+---+--------------+--------+
|1 | 1 |Cliff |
|2 | 2 |John |
|3 | 2 |Ringo |
|4 | 2 |Paul |
+---+--------------+--------+

现在,我想做的是创建一个 SQL,它只对表 JOBS 执行简单的 SELECT,...

从工作中选择 *;

但我想在 SELECT 中返回每个职位申请次数的计数。因此,例如它将返回以下内容。

+---+----------+-------+
|ID | JobName | Count |
+---+----------+-------+
| 1 | Tinker | 1 |
| 2 | Tailor | 3 |
| 3 | Soldier | 0 |
| 4 | Sailor | 0 |
+---+----------+-------+

我想我需要一个嵌入的 SELECT,但我不知道从哪里开始。

有人能帮忙吗?

谢谢。

最佳答案

你需要像这样的左连接......使用合并来处理空值

SELECT j.*, COUNT(a.jobappliedid) AS numApplied
FROM jobs j
LEFT JOIN applied a ON a.jobappliedid = j.ID
GROUP BY j.id

Fiddle Demo

关于MySQL Join 和 COUNT(*) 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com