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

我想知道如何写这个查询

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

选择分发服务器\u id,
将(*)算作总数,
计数(*),其中级别='exec',
计数(*),其中级别=‘个人’

我需要在一个查询中全部返回

此外,它需要在一行中,因此以下内容不起作用:

'选择分销商id,计数(*)
按分发服务器分组\u id'

您可以将CASE语句与聚合函数一起使用。这与某些RDBMS中的PIVOT功能基本相同:

选择分发服务器\u id,
将(*)算作总数,
求和(当级别为'exec'时,则为1,否则为0结束)作为ExecCount,
总和(当级别为“个人”时,则为1,否则为0结束)作为个人计数
从你的桌子上
按分发服务器\u id分组

发表评论