数据库练习1
create table score(
sid char(21) primary key,
name varchar(20) ,
school varchar(50),
grade int,
class int,
chinese_score int,
math_score int,
english_score int,
total_score int
);
SELECT
school,
grade,
class,
AVG(chinese_score) AS avg_chinese_score,
MAX(chinese_score) AS max_chinese_score,
SUM(CASE WHEN chinese_score >= 60 THEN 1 ELSE 0 END) AS pass_chinese_count,
AVG(math_score) AS avg_math_score,
MAX(math_score) AS max_math_score,
SUM(CASE WHEN math_score >= 60 THEN 1 ELSE 0 END) AS pass_math_count,
AVG(english_score) AS avg_english_score,
MAX(english_score) AS max_english_score,
SUM(CASE WHEN english_score >= 60 THEN 1 ELSE 0 END) AS pass_english_count
FROM
score
GROUP BY
school, grade, class
ORDER BY
school, grade, class;
select sid,name,chinese_score,math_score,english_score,total_score,school,grade
from score
where grade = 2
order by total_score desc,sid asc
limit 0 100;
CREATE TRIGGER before_insert_score
BEFORE INSERT ON score
FOR EACH ROW
SET NEW.total_score = NEW.chinese_score + NEW.math_score + NEW.english_score;
create INDEX idx_school_grade_class on score(school,grade,class) ;
create INDEX idx_total_score on score(total_score);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)