TSQL Count 'Where' Condition

Как реализовать "смысл" следующего выражения psuedo-SQL:

COUNT(distinct id where attribute1 > 0)

Другими словами, как я могу сделать условные, различные выражения подсчета?

Спасибо!

Ответ 1

Ну, если вы можете отфильтровать весь запрос, то у LittleBobbyTables уже есть ответ для вас. Если нет, вы можете получить этот столбец так:

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

Ответ 2

Вы в значительной степени имели это:

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