求先进行sum求和后再进行小计和总计的语句
我有如下数据表:xst
编号 姓名 金额
w1 a 100
w2 a 200
w1 a 300
s1 b 200
s1 b 300
s2 b 300
s2 b 50
现在我用'select 编号,姓名,SUM(金额) AS 金额 from xst GROUP by 编号,姓名' ;
得到了如下结果
编号 姓名 金额
w1 a 400
w2 a 200
s1 b 500
s2 b 350
但我想得到如下结果的SQL语句应该怎么写
编号 姓名 金额
w1 a 400
w2 a 200
小计 600
s1 b 500
s2 b 350
小计 850
总计 1450
[解决办法]
弄个临时表再处理就好了啊。何必弄那么复杂
[解决办法]
利用grouping可以实现上述结果
[解决办法]
大概是这样
select 编号,姓名,SUM(金额) AS 金额 from xst GROUP by 编号,姓名
union all
select '小计' as 编号, 姓名, sum(金额) as 金额 from xst group by 姓名
union all
select '总计' as 编号, 'ZZZZZ' as 姓名, sum(金额) as 金额 from xst
order by 姓名