【问题标题】:count case with multiple conditions in same row计算同一行中具有多个条件的案例
【发布时间】:2021-08-06 13:20:16
【问题描述】:

我需要从s.status 列中导出状态数据,例如

select s.name,
    count(CASE WHEN s.STATUS = 'Active' THEN 1 END) AS Active_count,
    count(CASE WHEN s.STATUS = 'Expired' THEN 1 END) AS Expired_count,
    count(CASE WHEN s.STATUS = 'In Progress' THEN 1 END) AS InProgress_count
from my.table s
group by s.name,s.status

我希望它被计算在一行中,但我却得到了这样的结果

https://i.stack.imgur.com/K4wyc.png

谁能帮我写一下,这样我就可以在一行中获取数据?

谢谢

【问题讨论】:

  • 从 GROUP BY 中删除 s.STATUS!

标签: sql count case aggregate-functions


【解决方案1】:

从您的组中删除 s.status

【讨论】:

    猜你喜欢
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多