Jak mogę wdrożyć„oznacza”z następującym stwierdzeniem psuedo-SQL:TSQL "Gdzie Stan
COUNT(distinct id where attribute1 > 0)
Innymi słowy, w jaki sposób mogę zrobić warunkowe, odrębne oświadczenia liczenia?
Dzięki!
Jak mogę wdrożyć„oznacza”z następującym stwierdzeniem psuedo-SQL:TSQL "Gdzie Stan
COUNT(distinct id where attribute1 > 0)
Innymi słowy, w jaki sposób mogę zrobić warunkowe, odrębne oświadczenia liczenia?
Dzięki!
dobrze, jeśli można filtrować całą kwerendę, a następnie LittleBobbyTables już the answer dla Ciebie. Jeśli nie, możesz uzyskać tę kolumnę w następujący sposób:
dość dużo miał go:
SELECT COUNT(DISTINCT [ID]) AS DistinctID
FROM YourTable
WHERE attribute1 > 0
Potrzebowałem go jako część zapytania. Co jest złego w używaniu go w funkcji agregującej? – CodeKingPlusPlus
+1 i pamiętasz poprawnie: gdy 'ELSE' jest pominięte, domyślnie jest" ELSE NULL ". Inaczej mówiąc, nie rozumiem tego "problemu z wydajnością" w odniesieniu do agregacji warunkowej. Mam na myśli, jakie są alternatywy dla 'CASE' w funkcji agregującej (na przykład, kiedy twoje zapytanie musi zwrócić zarówno liczbę warunkową, jak i bezwarunkową)? –
Rozumiem, ale już to określiłeś w swojej odpowiedzi, więc twoje ostatnie zdanie brzmi, jakby ktoś był zirytowany * całkowicie zgodnym z prawem * użyciem warunkowej agregacji. Chciałem tylko wyjaśnić, czy naprawdę tak myślisz. I ogólnie, zgadzam się z tobą, że to coś * może * być wykorzystywane, jak wszystko inne. –