2010-06-28 2 views

ответ

13

Да, вы можете комбинировать SUM и СЛУЧАЙ:

SELECT 
    SUM(CASE WHEN condition1 THEN 1 ELSE 0 END) count1, 
    SUM(CASE WHEN condition2 THEN 1 ELSE 0 END) count2 
FROM yourtable 

Таким образом, для вашего конкретного примера:

SELECT 
    SUM(CASE WHEN days < 15 THEN 1 ELSE 0 END) count1, 
    SUM(CASE WHEN days BETWEEN 15 AND 30 THEN 1 ELSE 0 END) count2 
FROM yourtable 

Если в большинстве строк есть days > 30, возможно, стоит добавить WHERE days <= 30 в конце запроса в качестве оптимизации. Также имейте в виду, что BETWEEN включает обе свои конечные точки.

+0

Работал как очарование. Спасибо за помощь. – Rabin

Смежные вопросы