Mar*_*ers 13
是的,你可以结合SUM和CASE:
SELECT
SUM(CASE WHEN condition1 THEN 1 ELSE 0 END) count1,
SUM(CASE WHEN condition2 THEN 1 ELSE 0 END) count2
FROM yourtable
Run Code Online (Sandbox Code Playgroud)
所以对于你的具体例子:
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
Run Code Online (Sandbox Code Playgroud)
如果大多数行都有,days > 30
那么可能值得WHERE days <= 30
在查询结尾添加一个优化.另请注意,BETWEEN包括其两个终点.