写出SQL语句,汇总Score表中每门课程的最高分及其学生学号,包括Cno、Sno、Degree,将运行无误后的SQL语句写入答题文件夹中的MYSQL5.TXT保存。
时间: 2024-03-23 17:40:48 浏览: 71
好的,以下是SQL语句:
```sql
SELECT Score.Cno, Score.Sno, MAX(Score.Degree) AS Degree
FROM Score
GROUP BY Score.Cno, Score.Sno;
```
请注意,这是假设Score表中有Cno、Sno和Degree这三个字段的情况下编写的SQL语句。如果字段名不同,需要相应地修改语句。同时,为了让结果更加清晰,可以给字段起别名,如上面的语句中给MAX(Score.Degree)起了Degree的别名。
相关问题
查询每门课程的最高分及其学生学号,包括cno,sno
好的,针对您的问题,可以使用以下 SQL 语句查询每门课程的最高分及其学生学号,包括 cno,sno:
```sql
SELECT score.cno, score.sno, MAX(score.score) AS max_score
FROM score
GROUP BY score.cno, score.sno;
```
其中,`score` 表是成绩表,包含以下字段:`cno` 是课程号,`sno` 是学生学号,`score` 是分数。
这条 SQL 语句的作用是根据课程号和学生学号进行分组,然后计算每组中分数的最大值,并将课程号、学生学号和最高分作为结果返回。
希望这个回答能够帮助到您!
假设有成绩表里面包含学生学号、课程号和成绩信息, 关系模式为:score(sno,cno,degree) 写出SQL语句: 查询Score表中的SNO、CNO及DEGREE列,其中DEGREE以别名“等级”显示,总学分在60分以下的显示不及格,61-74 (含)之间的显示合格,75-84(含)之间的显示良好,其它为优秀;
可以使用 CASE WHEN 语句来实现该需求,具体SQL语句如下:
```
SELECT sno, cno,
CASE
WHEN degree < 60 THEN '不及格'
WHEN degree >= 60 AND degree <= 74 THEN '合格'
WHEN degree >= 75 AND degree <= 84 THEN '良好'
ELSE '优秀'
END AS 等级
FROM score;
```
其中,CASE WHEN 语句会根据 degree 的取值返回不同的等级,根据题目要求将分数段分别对应为不及格、合格、良好和优秀。最终查询结果包括学生学号(sno)、课程号(cno)和成绩等级(等级)。
阅读全文