同一SQL查询中的多个条件

时间:2014-02-19 13:04:50

标签: sql sql-server

您能否通过编写SQL查询来建议从输入(左)开始获取右侧输出的好方法? 我们需要计算col1上'a'条目的数量,然后计算col2上'b'的数量(仅适用于Col0上有YES的记录)。

谢谢。 (需要Sql Server解决方案)  enter image description here

2 个答案:

答案 0 :(得分:3)

非常简单:

SELECT col0, SUM(CASE WHEN col1 = 'a' THEN 1 ELSE 0 END) AS A, SUM(CASE WHEN col2 = 'b' THEN 1 ELSE 0 END) AS B
FROM t
WHERE col0 = 'YES'
GROUP BY col0

SQLFiddle

答案 1 :(得分:1)

select col0,
sum(case when col1 = 'a' then 1 else 0 end) as [A],
sum(case when col2 = 'b' then 1 else 0 end) as [B]
from MyTable
where col0 = 'YES'
group by col0