SQL 二维交叉报表 分类统计(行列转换)

本文展示了如何使用SQL将数据转换为二维交叉报表,进行分类统计,包括学生的总人数、总分数以及各科目(数学、语文)的得分情况。通过创建临时表并插入数据,然后构造SQL查询语句,实现行列转换,最终输出学生姓名、总分以及各科目的得分总和。
摘要由CSDN通过智能技术生成
/*
需要统计成以下形式 
            总    总分 数学   总分    语文       总分
李四    10    820    6    483.50    4        336.50
张三    10    829    7    595.50    3        233.50

ID Name   Class       Mark   Term
1 张三         数学         80.50 2001      
2 张三         数学         82.50 2002      
3 张三         数学         83.50 2003      
4 张三         数学         84.50 2004      
5 张三         数学         90.00 2005      
6 张三         数学         84.50 2006      
7 张三         数学         90.00 2007      
8 张三         语文         80.50 2001      
9 张三         语文         82.50 2002      
10 张三         语文         70.50 2003      
11 李四         数学         84.50 2000      
12 李四         数学         80.50 2001      
13 李四         数学         60.50 2002      
14 李四         数学         83.50 2003      
15 李四         数学         84.50 2004      
16 李四         数学         90.00 2005      
17 李四         语文         80.50 2001      
18 李四         语文         82.50 2002      
19 李四         语文         83.50 2003      
20 李四         语文         90.00 2005      
*/
CREATE   TABLE   temp (   
    
[ ID ]   [ bigint ]   IDENTITY ( 1 , 1 NOT   NULL ,   
    
[ Name ]   [ nchar ] ( 10 ) COLLATE Chinese_PRC_CI_AS  NULL ,   
    
[ Class ]   [ nchar ] ( 10 ) COLLATE Chinese_PRC_CI_AS  NULL ,   
    
[ Mark ]   [ numeric ] ( 18 2 NULL ,   
    
[ Term ]   [ nchar ] ( 10 ) COLLATE Chinese_PRC_CI_AS  NULL ,   
 
CONSTRAINT   [ PK_temp ]   PRIMARY   KEY   CLUSTERED     
(   
    
[ ID ]   ASC   
)
WITH  (IGNORE_DUP_KEY  =   OFF ON   [ PRIMARY ]    
ON   [ PRIMARY ]    
  
INSERT   INTO   temp ( [ Name ] , [ Class ] , [ Mark ] , [ Term ] ) VALUES ( ' 张三 ' , ' 数学 ' , ' 80.5 ' , ' 2001 ' )   
INSERT   INTO   temp ( [ Name ] , [ Class ] ,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值