T-SQL 2005:计算所有行和行符合标准

Joh*_*ohn 1 sql t-sql sql-server sql-server-2005 aggregate-functions

这是场景:

我有一个包含3列的表:'KeyColumn','SubKeyColumn'和'BooleanColumn',其中前两个是表的主键.

对于我的查询,我想计算'KeyColumn'中任何给定值的行数,并且我也想知道哪些值为'BooleanColumn'的值为true.我最初的想法是创建一个这样的查询:

SELECT
   COUNT(*)
   ,COUNT(CASE WHEN BooleanColumn = 1 THEN 1 ELSE 0 END)
FROM
   MyTable
GROUP BY
   KeyColumn
Run Code Online (Sandbox Code Playgroud)

但是,第二部分不起作用(我不完全确定为什么我认为它会开始).是否可以在一个查询中执行此类操作?或者我是否需要进行多次查询才能实现这一目标?

Phi*_*ler 5

在第二部分中将COUNT更改为SUM.;)