【发布时间】:2019-03-05 10:53:07
【问题描述】:
我有两个表,任务和状态。任务表有列 task_id、project_id task_content 和 status_id。状态表有列 status_id 和 status_name。 我想获取获取所有状态名称的查询,并计算有多少具有该状态名称的任务。我的查询如下所示:
编辑:我忘记添加 project_id。查询只需要检查一个项目中的任务。
SELECT s.status_name, COUNT(t.status_id) AS tasks
FROM status s
LEFT JOIN tasks t
ON s.status_id = t.status_id
WHERE t.project_id = 1
GROUP BY s.status_name
我的查询运行良好,但是当没有具有其中一种状态的任务时,此状态被排除在查询之外,我希望它显示为零,例如:
status name | tasks
status 1 | 3
status 2 | 2
status 3 | 0
但我的查询看起来像这样:
status name | tasks
status 1 | 3
status 2 | 2
【问题讨论】:
-
count(t.status_id)而不是count(*) -
@a_horse_with_no_name 我仍然得到相同的输出