mysql查询课程中成绩最高分的学生学号姓名和课程成绩 sql查询每个课程的最高分 您所在的位置:网站首页 sql查询学生成绩最高分 mysql查询课程中成绩最高分的学生学号姓名和课程成绩 sql查询每个课程的最高分

mysql查询课程中成绩最高分的学生学号姓名和课程成绩 sql查询每个课程的最高分

2024-04-20 21:52| 来源: 网络整理| 查看: 265

mysql查询课程中成绩最高分的学生学号姓名和课程成绩 sql查询每个课程的最高分_MySQL

一、简单查询

(1) SELECT 姓名 FROM student WHERE 姓名 LIKE '李%'; (2) SELECT 姓名 FROM student WHERE 姓名 LIKE '%李'; (3) SELECT 姓名 FROM student WHERE 姓名 LIKE '%李%'; (4) SELECT count(*) AS 人数 FROM teacher WHERE 姓名 LIKE '李%';

二、汇总分析

(1) 查询课程编号为“0002”的总成绩

SELECT sum(成绩) AS 总成绩 FROM score WHERE 课程号 = 0002;

「用别名是个好习惯」

(2) 查询选了课程的学生人数

SELECT DISTINCT count(学号) AS 修课人数 FROM score; SELECT count(DISTINCT 学号) AS 修课人数 FROM score;

「DISTINCT即可以放在列名前,也可以放在汇总函数前」

(3) 查询各科成绩最高和最低的分, 以如下的形式显示:课程号,最高分,最低分

SELECT 课程号,max(成绩) AS 最高分,min(成绩) AS 最低分 FROM score GROUP BY 课程号;

(4) 查询每门课程被选修的学生数

SELECT 课程号,count(学号) AS 选修学生数 FROM score GROUP BY 课程号;

(5) 查询男生、女生人数

SELECT 性别,count(性别) AS 人数 FROM student GROUP BY 性别;

(6) 查询平均成绩大于60分学生的学号和平均成绩

SELECT 学号,avg(成绩) AS 平均分 FROM score GROUP BY 学号 HAVING avg(成绩)>60;

(7) 查询至少选修两门课程的学生学号

SELECT 学号,count(课程号) AS 修课数 FROM score GROUP BY 学号 HAVING count(课程号)>=2;

(8) 查询同名同性学生名单并统计同名人数

SELECT 姓名,count(学号) AS 人数 FROM student GROUP BY 姓名 HAVING count(学号)>=2;

(9) 查询不及格的课程并按课程号从大到小排列

SELECT 课程号 FROM score WHERE 成绩80;

(9) 行列互换 - 长表变宽表

SELECT 学号, max(CASE WHEN 课程号=1 THEN 成绩 ELSE 0 END) AS 课程号0001, max(CASE WHEN 课程号=2 THEN 成绩 ELSE 0 END) AS 课程号0002, max(CASE WHEN 课程号=3 THEN 成绩 ELSE 0 END) AS 课程号0003 FROM score GROUP BY 学号;

「SELECT的最后一项不要多加逗号!!」



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有