select corpno,sum(amt) as SumAmt from 表 group bycorpno,convert(varchar(6), date,112)
这个就是能实现你前两列的显示。
一个SQL中不能按2种方法去汇总。 所以total这一列得单独汇总。然后再把数据联合查询一下。
select corpno,sum(amt) as total group by corpno
最终的SQL如下
Select T0.corpno,sumAmt,total from(select corpno,sum(amt) as SumAmt from 表 group bycorpno,convert(varchar(6), date,112))T0 left join (select corpno,sum(amt) as total group by corpno) T1
On T0.corpno=T1.corpno