SQL SERVER2000教程-第五章 处理数据 第二十一节 使用CASE语句、SUM函数、AVG函数进行综合数据统计
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/44610 |
DROP TABLE 成绩表
GO CREATE TABLE 成绩表(班组 VARCHAR(10),姓名 VARCHAR(6),学科 VARCHAR(4),成绩 INT) GO INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('一班','王小明','数学',100) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('一班','王小明','语文',98) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('一班','王小明','英语',76) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('一班','李小东','数学',97) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('一班','李小东','语文',99) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('一班','李小东','英语',85) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','刘小刚','数学',100) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','刘小刚','语文',100) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','刘小刚','英语',96) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','张小英','数学',96) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','张小英','语文',88) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','张小英','英语',66) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','周小侠','数学',84) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','周小侠','语文',98) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('二班','周小侠','英语',76) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('三班','张大利','数学',99) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('三班','张大利','语文',100) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('三班','张大利','英语',100) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('三班','张冬杰','数学',50) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('三班','张冬杰','语文',88) INSERT INTO 成绩表(班组,姓名,学科,成绩) VALUES('三班','张冬杰','英语',46) ![]() --竖表变横表 SELECT 班组, 姓名, SUM(CASE 学科 WHEN '数学' THEN 成绩 ELSE 000 END) AS 数学, SUM(CASE 学科 WHEN '语文' THEN 成绩 ELSE 000 END) AS 语文, SUM(CASE 学科 WHEN '英语' THEN 成绩 ELSE 000 END) AS 英语, AVG(CASE 学科 WHEN '数学' THEN 成绩 ELSE 000 END+ CASE 学科 WHEN '语文' THEN 成绩 ELSE 000 END+ CASE 学科 WHEN '英语' THEN 成绩 ELSE 000 END) AS 平均成绩 INTO 成绩表横表 FROM 成绩表 GROUP BY 班组,姓名 ORDER BY 平均成绩 DESC ![]() 本文出自 “半瓶香油-好男人时来运转” 博客,请务必保留此出处http://chenxing.blog.51cto.com/240526/44610 本文出自 51CTO.COM技术博客 |




晨星
博客统计信息
热门文章
最新评论
友情链接

