Another way: COUNT does not count NULL (except for COUNT(*) ):
SELECT TeamId, COUNT(DECODE(IsNew,'N',1)) CountIsNotNew, COUNT(DECODE(IsNew,'Y',1)) CountIsNew FROM Agent GROUP BY TeamId;
Or if you prefer CASE:
SELECT TeamId, COUNT(CASE IsNew WHEN 'N' THEN 1 END) CountIsNotNew, COUNT(CASE IsNew WHEN 'Y' THEN 1 END) CountIsNew FROM Agent GROUP BY TeamId;
(note: "1" can be any literal value)
source share