TSQL计数'Where'条件

时间:2012-07-26 18:59:05

标签: tsql count conditional distinct

如何实现以下psuedo-SQL语句的“含义”:

COUNT(distinct id where attribute1 > 0)

换句话说,我如何制作有条件的,不同的计数陈述?

谢谢!

2 个答案:

答案 0 :(得分:35)

好吧,如果您可以过滤整个查询,那么LittleBobbyTables已经为您提供了the answer。如果没有,你可以这样得到那个列:

count(distinct case when attribute1 > 0 then id end) -- implicit null-else, iirc

答案 1 :(得分:3)

你几乎拥有它:

SELECT COUNT(DISTINCT [ID]) AS DistinctID
FROM YourTable
WHERE attribute1 > 0