题目如图: 利用SQL语法将班级A和班级B提出来另外制作表格。
表格内容: row为各科目, colunms为各成绩段人数和各成绩段平均分数。
做完把sourcr code传给我即可。
感谢
或是跟我讲方法也可以。
利用SQL来新定义表格并计算
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 游一游走一走 2022-11-05 10:01关注
- 答案
SELECT CATEGORY as 'A班科目', SUM(CASE WHEN GRADE>=80 THEN 1 ELSE 0 END) as 'A级人数80分以上', SUM(CASE WHEN GRADE>=60 AND Grade <=79 THEN 1 ELSE 0 END) as 'B级人数60~79', SUM(CASE WHEN GRADE>=0 AND Grade <=59 THEN 1 ELSE 0 END) as 'C级人数0~59', floor(SUM(CASE WHEN Grade>=80 THEN Grade ELSE 0 END)/ SUM(CASE WHEN Grade>=80 THEN 1 ELSE NULL END)) as 'A级平均分数80分以上', floor(SUM(CASE WHEN Grade>=60 AND Grade <=79 THEN Grade ELSE 0 END )*1.0/ SUM(CASE WHEN Grade>=60 AND Grade <=79 THEN 1 ELSE NULL END)) as 'B级平均分数60~79', floor(SUM(CASE WHEN Grade>=0 AND Grade <=59 THEN Grade ELSE 0 END )*1.0/ SUM(CASE WHEN Grade>=0 AND Grade <=59 THEN 1 ELSE NULL END)) as 'C级平均分数0~59' FROM csdn_student WHERE ClASSID = 'A' GROUP BY Category
- 建表语句
CREATE TABLE `csdn_student` ( `ClASSID` varchar(45) DEFAULT NULL, `CATEGORY` varchar(45) DEFAULT NULL, `STUDENTID` varchar(45) DEFAULT NULL, `GRADE` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- 插入数据
insert into csdn_student values ('A','国文','A001',86),('A','数学','A001',97),('A','英文','A001',100),('A','国文','A002',33),('A','数学','A002',50),('A','英文','A002',77),('A','国文','A003',100),('A','数学','A003',30),('A','英文','A003',99),('B','国文','B001',50),('B','数学','B001',60),('B','英文','B001',70),('B','国文','B002',55),('B','数学','B002',100),('B','英文','B002',98),('B','国文','B003',1),('B','数学','B003',50),('B','英文','B003',99);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 - 答案
悬赏问题
- ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
- ¥20 神经网络Sequential name=sequential, built=False
- ¥16 Qphython 用xlrd读取excel报错
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应