Условный подсчет: Различия в производительности при использовании SUM () против COUNT ()?

Просто в качестве очень простого примера, скажем, у меня есть таблицаtest с образцами данных вот так:

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

И для каждогоaЯ могу посчитать, сколькоbесть такие, которые & lt; 50. Результат будет выглядеть так:

a     |   bcnt
--------------
1     |      4
2     |      2
3     |      0

Теперь я мог достичь этого результата одним из двух способов:

SELECT a, COUNT(CASE WHEN b < 50 THEN 1 ELSE NULL END) AS bcnt
FROM test
GROUP BY a

Или же:

SELECT a, SUM(CASE WHEN b < 50 THEN 1 ELSE 0 END) AS bcnt
FROM test
GROUP BY a

Я знаю, что это может показаться таким незначительным тривиальным вопросом, но мой вопрос в том, будет ли какое-либо преимущество (пусть и столь незначительное) в использовании одного подхода по сравнению с другим с точки зрения: производительности? ... Сколько других СУБД они будут работать ? ... ясность изложения? ... и т. Д.

Ответы на вопрос(4)

Ваш ответ на вопрос