我想知道如何编写此查询。
我知道这个实际的语法是虚假的,但是它将帮助您理解我想要的。我需要这种格式,因为它是更大查询的一部分。
SELECT distributor_id, COUNT() AS TOTAL, COUNT() WHERE level = 'exec', COUNT(*) WHERE level = 'personal' 我需要所有这些都在一个查询中返回。
此外,它必须排成一排,因此以下内容将不起作用:
'SELECT distributor_id, COUNT(*) GROUP BY distributor_id'
您可以将CASE语句与聚合函数一起使用。这与PIVOT某些RDBMS中的函数基本相同:
SELECT distributor_id, count(*) AS total, sum(case when level = 'exec' then 1 else 0 end) AS ExecCount, sum(case when level = 'personal' then 1 else 0 end) AS PersonalCount FROM yourtable GROUP BY distributor_id来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。