如果我有一张桌子
AgentID | IsNew | TeamID
1 N 1
2 Y 2
3 Y 2
4 N 2
5 Y 1
Run Code Online (Sandbox Code Playgroud)
我想从查询中返回以下内容:
Team | CountIsNew = N | CountIsNew = Y
1 1 1
2 1 2
Run Code Online (Sandbox Code Playgroud)
有没有办法可以做到这一点?
使用Oracle 10
SELECT team, SUM(DECODE(IsNew, 'N', 1, 0)), SUM(DECODE(IsNew, 'Y', 1, 0))
FROM mytable
GROUP BY
team
Run Code Online (Sandbox Code Playgroud)
SELECT TeamId
, SUM(CASE WHEN IsNew = 'N' THEN 1 ELSE 0 END) AS CountIsNotNew
, SUM(CASE WHEN IsNew = 'Y' THEN 1 ELSE 0 END) AS CountIsNew
FROM Agent
GROUP BY TeamId
Run Code Online (Sandbox Code Playgroud)