开发者社区> 问答> 正文

如何通过一个SQL查询获得多个计数?

我想知道如何编写此查询。

我知道这个实际的语法是虚假的,但是它将帮助您理解我想要的。我需要这种格式,因为它是更大查询的一部分。

SELECT distributor_id, COUNT() AS TOTAL, COUNT() WHERE level = 'exec', COUNT(*) WHERE level = 'personal' 我需要所有这些都在一个查询中返回。

此外,它必须排成一排,因此以下内容将不起作用:

'SELECT distributor_id, COUNT(*) GROUP BY distributor_id'

展开
收起
保持可爱mmm 2020-05-10 20:02:55 478 0
1 条回答
写回答
取消 提交回答
  • 您可以将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

    2020-05-10 20:03:09
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载