我无法为以下表格内容派生SQL查询。
当我尝试下面的查询时,我得到了上述输出。有人可以帮我提供所需的查询。
select Name, count(Status) from mytable where Status='Open' group by mytable union
select Name, count(Status) from mytable where Status='Cleared' group by mytable
答案 0 :(得分:2)
在选择列表中使用case
表达式来执行条件聚合。
select Name,
count(case when Status = 'Open' then 1 end) as opencnt,
count(case when Status = 'Cleared' then 1 end) as clearedcnt
from mytable
where Status in ('Open', 'Cleared')
group by Name
COUNT()
计算非空值。上述case
表达式在未满足条件时返回null。