我正在努力寻找以下问题的解决方案。假设其中一个有这样的表
COL1 FLAG
aaa 1
aaa 0
aaa 1
bbb 0我需要编写一个查询来获得以下输出:
COL1_VALUE FLAGGED TOTAL
aaa 2 3
bbb 0 1其中,标志列包含'aaa‘行值的总计数,对于这些值,FLAG=1列是包含'aaa’的行的总数,换句话说,找出相对于包含'aaa‘的行的总数,有多少包含'aaa’的行被标记。是否可以使用单个查询?(即不使用临时表等)
(MSSQL2008)
发布于 2012-02-13 05:39:16
SELECT COL1 AS COL1_VALUE,
COUNT(CASE WHEN FLAG = 1 THEN 1 END) AS FLAGGED,
COUNT(*) AS TOTAL
FROM YourTable
GROUP BY COL1 https://stackoverflow.com/questions/9252911
复制相似问题