对于MySQL,您可以直接将条件放在
SUM()
功能,它将
计算为布尔值
0
或
1
这样你就可以根据你的标准而不使用
IF/CASE
声明
SELECT
company_name,
SUM(action = 'EMAIL')AS Email,
SUM(action = 'PRINT' AND pagecount = 1)AS Print1Pages,
SUM(action = 'PRINT' AND pagecount = 2)AS Print2Pages,
SUM(action = 'PRINT' AND pagecount = 3)AS Print3Pages
FROM t
GROUP BY company_name