Liczenie warunkowe: różnice wydajności w użyciu SUM () vs COUNT ()?
Tak jak bardzo prosty przykład, powiedzmy, że mam stółtest
z przykładowymi danymi w ten sposób:
a | b
-------------
1 | 18
1 | 24
1 | 64
1 | 82
1 | 10
1 | 7
2 | 5
2 | 18
2 | 66
2 | 72
3 | 81
3 | 97
I dla każdegoa
, Mam liczyć ileb
są tam <50. Wynik będzie wyglądał następująco:
a | bcnt
--------------
1 | 4
2 | 2
3 | 0
Teraz mogłem osiągnąć ten wynik na dwa sposoby:
SELECT a, COUNT(CASE WHEN b < 50 THEN 1 ELSE NULL END) AS bcnt
FROM test
GROUP BY a
Lub:
SELECT a, SUM(CASE WHEN b < 50 THEN 1 ELSE 0 END) AS bcnt
FROM test
GROUP BY a
Wiem, że może się to wydawać tak mało znaczącą, błahą sprawą, ale moje pytanie brzmi: czy będzie jakaś korzyść (choćby tak niewielka) w stosowaniu jednego podejścia w stosunku do drugiego pod względem: wydajności? ? ... Jasność oświadczenia? ... itd.