您好,我正在尝试在 mysql 中编写堆积条形图,首先我需要正确查询,并需要一些帮助。
目前我有:
SELECT
COUNT(TargetDate) AS Planned,
COUNT(StartDate) AS Completed,
MONTHNAME(TargetDate) AS `Month`,
StartDate,
AssessmentStatus
FROM AuditCycleAssessments
WHERE (Year(TargetDate) = Year(now()))
GROUP BY MONTHNAME(TargetDate)
ORDER BY Month(TargetDate)
效果很好,看起来像 screenshot
但是我需要更改第 3 行以包含它自己的 where 语句,例如...
(COUNT(StartDate) if AssessmentStatus=3) AS Completed,
第 1 点,有人可以帮我实现这个目标吗。
谢谢
最佳答案
使用 CASE
语句执行条件 COUNT
SELECT
COUNT(TargetDate) AS Planned,
COUNT(CASE WHEN AssessmentStatus=3 THEN StartDate END) AS Completed,
MONTHNAME(TargetDate) AS `Month`,
StartDate,
AssessmentStatus
FROM AuditCycleAssessments
WHERE (Year(TargetDate) = Year(now()))
GROUP BY MONTHNAME(TargetDate)
ORDER BY Month(TargetDate)
关于mysql - 在 select 语句中计算 where 和 if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027619/