我想采取以下声明并将其融合到一个查询中.
SELECT COUNT(*) AS count1 WHERE Month='11' AND Flag = 1
SELECT COUNT(*) AS count2 WHERE Month='11' AND Flag = 2
SELECT COUNT(*) AS count1 WHERE Month='12' AND Flag = 1
SELECT COUNT(*) AS count2 WHERE Month='12' AND Flag = 2
Run Code Online (Sandbox Code Playgroud)
我希望这显示为一个查询列count1和count2以及行11月和12月.
有这个语法吗?
您可以一次性组合SUM并CASE获得各种计数:
SELECT
Month,
SUM(CASE WHEN Flag=1 THEN 1 ELSE 0 END) as count1,
SUM(CASE WHEN Flag=2 THEN 1 ELSE 0 END) as count2
from
...
WHERE Month in ('11','12')
GROUP BY
Month /* Other columns? */
Run Code Online (Sandbox Code Playgroud)