当前位置: 代码迷 >> Sql Server >> 关于统计分析,该怎么解决
  详细解决方案

关于统计分析,该怎么解决

热度:66   发布时间:2016-04-27 11:13:38.0
关于统计分析
元数据

姓名 日期 分数
张三 1 10
张三 1 20
张三 1 30
李四 2 11
李四 2 22
王五 3 10
王五 3 10


效果
姓名 日期 分数
张三 1 10
  1 20
  1 30
  小计 60
李四 2 11
  2 22
  小计 33
王五 3 10
  3 10
  小计 20

------解决方案--------------------
SQL code
declare @test table(姓名 nvarchar(4) ,日期 varchar(10),分数 float(4))insert into @test select N'张三','1','10'union allselect N'张三','1','20'union allselect N'张三','1','30'union allselect N'李四','2','11'union allselect N'李四','2','22'union allselect N'王五','3','10'union allselect N'王五','3','10'select 姓名,日期,分数 from (    select 姓名,日期,分数,姓名+日期 as sort from @test    union all    select '','小计',sum(分数),姓名+日期+'1' from @test group by 姓名,日期)torder by sort/*姓名   日期         分数---- ---------- ----------------------李四   2          11李四   2          22     小计         33王五   3          10王五   3          10     小计         20张三   1          10张三   1          20张三   1          30     小计         60*/