sql表cw_base中有 姓名,年,月,收入 字段怎么实现在下面12月后加一列 汇总
行也同样在最后一行加一行汇总SELECT 姓名, 年,
SUM(CASE 月 WHEN 01 THEN 收入 ELSE 0 END) AS '1月',
SUM(CASE 月 WHEN 2 THEN 收入 ELSE 0 END) AS '2月',
SUM(CASE 月 WHEN 3 THEN 收入 ELSE 0 END) AS '3月',
SUM(CASE 月 WHEN 4 THEN 收入 ELSE 0 END) AS '4月',
SUM(CASE 月 WHEN 5 THEN 收入 ELSE 0 END) AS '5月',
SUM(CASE 月 WHEN 6 THEN 收入 ELSE 0 END) AS '6月',
SUM(CASE 月 WHEN 7 THEN 收入 ELSE 0 END) AS '7月',
SUM(CASE 月 WHEN 8 THEN 收入 ELSE 0 END) AS '8月',
SUM(CASE 月 WHEN 9 THEN 收入 ELSE 0 END) AS '9月',
SUM(CASE 月 WHEN 10 THEN 收入 ELSE 0 END) AS '10月',
SUM(CASE 月 WHEN 11 THEN 收入 ELSE 0 END) AS '11月',
SUM(CASE 月 WHEN 12 THEN 收入 ELSE 0 END) AS '12月'
FROM cw_base where 年=2010
GROUP BY 姓名,年
行也同样在最后一行加一行汇总SELECT 姓名, 年,
SUM(CASE 月 WHEN 01 THEN 收入 ELSE 0 END) AS '1月',
SUM(CASE 月 WHEN 2 THEN 收入 ELSE 0 END) AS '2月',
SUM(CASE 月 WHEN 3 THEN 收入 ELSE 0 END) AS '3月',
SUM(CASE 月 WHEN 4 THEN 收入 ELSE 0 END) AS '4月',
SUM(CASE 月 WHEN 5 THEN 收入 ELSE 0 END) AS '5月',
SUM(CASE 月 WHEN 6 THEN 收入 ELSE 0 END) AS '6月',
SUM(CASE 月 WHEN 7 THEN 收入 ELSE 0 END) AS '7月',
SUM(CASE 月 WHEN 8 THEN 收入 ELSE 0 END) AS '8月',
SUM(CASE 月 WHEN 9 THEN 收入 ELSE 0 END) AS '9月',
SUM(CASE 月 WHEN 10 THEN 收入 ELSE 0 END) AS '10月',
SUM(CASE 月 WHEN 11 THEN 收入 ELSE 0 END) AS '11月',
SUM(CASE 月 WHEN 12 THEN 收入 ELSE 0 END) AS '12月'
FROM cw_base where 年=2010
GROUP BY 姓名,年
SUM(CASE 月 WHEN 01 THEN 收入 ELSE 0 END) AS '1月',
SUM(CASE 月 WHEN 2 THEN 收入 ELSE 0 END) AS '2月',
SUM(CASE 月 WHEN 3 THEN 收入 ELSE 0 END) AS '3月',
SUM(CASE 月 WHEN 4 THEN 收入 ELSE 0 END) AS '4月',
SUM(CASE 月 WHEN 5 THEN 收入 ELSE 0 END) AS '5月',
SUM(CASE 月 WHEN 6 THEN 收入 ELSE 0 END) AS '6月',
SUM(CASE 月 WHEN 7 THEN 收入 ELSE 0 END) AS '7月',
SUM(CASE 月 WHEN 8 THEN 收入 ELSE 0 END) AS '8月',
SUM(CASE 月 WHEN 9 THEN 收入 ELSE 0 END) AS '9月',
SUM(CASE 月 WHEN 10 THEN 收入 ELSE 0 END) AS '10月',
SUM(CASE 月 WHEN 11 THEN 收入 ELSE 0 END) AS '11月',
SUM(CASE 月 WHEN 12 THEN 收入 ELSE 0 END) AS '12月',
SUM(月)AS '汇总'
FROM cw_base where 年=2010
GROUP BY rollup (姓名,年)
SUM(CASE 月 WHEN 01 THEN 收入 ELSE 0 END) AS '1月',
SUM(CASE 月 WHEN 2 THEN 收入 ELSE 0 END) AS '2月',
SUM(CASE 月 WHEN 3 THEN 收入 ELSE 0 END) AS '3月',
SUM(CASE 月 WHEN 4 THEN 收入 ELSE 0 END) AS '4月',
SUM(CASE 月 WHEN 5 THEN 收入 ELSE 0 END) AS '5月',
SUM(CASE 月 WHEN 6 THEN 收入 ELSE 0 END) AS '6月',
SUM(CASE 月 WHEN 7 THEN 收入 ELSE 0 END) AS '7月',
SUM(CASE 月 WHEN 8 THEN 收入 ELSE 0 END) AS '8月',
SUM(CASE 月 WHEN 9 THEN 收入 ELSE 0 END) AS '9月',
SUM(CASE 月 WHEN 10 THEN 收入 ELSE 0 END) AS '10月',
SUM(CASE 月 WHEN 11 THEN 收入 ELSE 0 END) AS '11月',
SUM(CASE 月 WHEN 12 THEN 收入 ELSE 0 END) AS '12月',
Sum(收入) as '汇总'
FROM cw_base where 年=2010
GROUP BY 姓名,年
union all
SELECT '汇总', '',
SUM(CASE 月 WHEN 01 THEN 收入 ELSE 0 END) AS '1月',
SUM(CASE 月 WHEN 2 THEN 收入 ELSE 0 END) AS '2月',
SUM(CASE 月 WHEN 3 THEN 收入 ELSE 0 END) AS '3月',
SUM(CASE 月 WHEN 4 THEN 收入 ELSE 0 END) AS '4月',
SUM(CASE 月 WHEN 5 THEN 收入 ELSE 0 END) AS '5月',
SUM(CASE 月 WHEN 6 THEN 收入 ELSE 0 END) AS '6月',
SUM(CASE 月 WHEN 7 THEN 收入 ELSE 0 END) AS '7月',
SUM(CASE 月 WHEN 8 THEN 收入 ELSE 0 END) AS '8月',
SUM(CASE 月 WHEN 9 THEN 收入 ELSE 0 END) AS '9月',
SUM(CASE 月 WHEN 10 THEN 收入 ELSE 0 END) AS '10月',
SUM(CASE 月 WHEN 11 THEN 收入 ELSE 0 END) AS '11月',
SUM(CASE 月 WHEN 12 THEN 收入 ELSE 0 END) AS '12月',
Sum(收入) as '汇总'
FROM cw_base where 年=2010
GROUP BY 姓名 不太清楚你下面一行的汇总数据逻辑,方法差不多吧
参考参考