我有以下表格。
案例
ID | 名称 |
---|---|
1 | Anton |
3 | Osram |
将COUNT()
与CASE
表达式一起使用,而不是使用SUM()
:
SELECT SUM(duration) total_duration,
COUNT(DISTINCT ID) distinct_ids,
COUNT(DISTINCT CASE WHEN `Case` NOT IN (1,2) THEN `Case` END) cases_not_in_Appointments
FROM Fastdocu
由于COUNT()
不具有ELSE
分支,它将不计数不满足条件Case NOT IN (1,2)
的Case
,因为在这种情况下CASE
表达式的结果将是NULL
如果要计数不同的id
s而不是不同的Case
s,则更改为:
COUNT(DISTINCT CASE WHEN `Case` NOT IN (1,2) THEN ID END)
请参阅演示
结果:
total_duration distinct_ids cases_not_in_Appoints 88 3 1