mysql查询各个分数段的人数
时间: 2023-07-06 15:16:48 浏览: 234
您可以使用MySQL的分组函数和条件语句来查询各个分数段的人数,具体的SQL语句如下:
```
SELECT
CASE
WHEN score >= 90 THEN '90-100'
WHEN score >= 80 THEN '80-89'
WHEN score >= 70 THEN '70-79'
WHEN score >= 60 THEN '60-69'
ELSE '0-59'
END AS grade_range,
COUNT(*) AS count
FROM
score_table
GROUP BY
grade_range;
```
在这个SQL语句中,我们使用了CASE语句来将不同的分数范围转换为对应的等级,然后使用COUNT函数统计每个等级的人数。最后,使用GROUP BY语句按照等级进行分组。您可以将`score_table`替换为您的实际表名以及相应的分数字段名。
相关问题
数据源包括学生姓名、学生id、学生班级、语文得分、数学得分、英语得分、物理得分、化学得分、生物得分,请使用MySQL语言编写一段代码,来收集学院中所有同学多门课程的分数,数据集的每一行表示一条学生选课的成绩,最后计算各个班级内不同课程的最高分、最低分、平局分
假设我们有一个名为`student_score`的数据表来存储学生的成绩信息,包含如下字段:
- `id`:学生的唯一标识
- `name`:学生的姓名
- `class`:学生所在的班级
- `chinese`:学生的语文成绩
- `math`:学生的数学成绩
- `english`:学生的英语成绩
- `physics`:学生的物理成绩
- `chemistry`:学生的化学成绩
- `biology`:学生的生物成绩
则可以使用如下代码来查询各个班级内不同课程的最高分、最低分、平均分:
```
-- 查询各个班级内的不同课程的最高分、最低分、平均分
SELECT class,
MAX(chinese) AS max_chinese,
MIN(chinese) AS min_chinese,
AVG(chinese) AS avg_chinese,
MAX(math) AS max_math,
MIN(math) AS min_math,
AVG(math) AS avg_math,
MAX(english) AS max_english,
MIN(english) AS min_english,
AVG(english) AS avg_english,
MAX(physics) AS max_physics,
MIN(physics) AS min_physics,
AVG(physics) AS avg_physics,
MAX(chemistry) AS max_chemistry,
MIN(chemistry) AS min_chemistry,
AVG(chemistry) AS avg_chemistry,
MAX(biology) AS max_biology,
MIN(biology) AS min_biology,
AVG(biology) AS avg_biology
FROM student_score
GROUP BY class;
```
该代码会将每个班级内的不同课程的最高分、最低分、平均分查询出来,并按照班级进行分组展示。如果需要查询所有班级的成绩统计信息,可以去掉`GROUP BY class`语句。
请写出下列调用存储过程PROC_StuGradeNum_学号最后两位的MySQL语句,并将执行结果截图,截图的右下角要求标上你的学号最后两位 查询20152101班计算机科学概论的考试情况 要求:若已获学分或未获学分返回为NULL,则结果要显示为0
要调用存储过程`PROC_StuGradeNum_学号最后两位`并获取20152101班计算机科学概论的考试情况,假设你的学号是123456,可以在SQL客户端或者命令行执行如下语句:
```sql
CALL PROC_StuGradeNum('2015', '计算机科学概论', 2101);
```
这里,'2015'代表班级年份,'计算机科学概论'对应课程名称,2101是班级编号。
关于返回值为NULL的情况,因为MySQL默认不会返回NULL值,所以你需要在查询后添加一个CASE语句来处理这种情况。如果需要将结果转化为0,可以这样做:
```sql
SELECT
CASE
WHEN result IS NOT NULL THEN result
ELSE 0
END AS '考试情况'
FROM
(
CALL PROC_StuGradeNum('2015', '计算机科学概论', 2101)
) AS result_set;
```
注意:由于这是一个文本环境,无法提供实际的截图。如果你需要查看执行结果,你应该在数据库管理工具中运行上述命令,结果应该会按照指定的规则展示各个分数段的人数以及未考试人数。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)