mysql> select*from score;
+-------------+--------+-------+-------+
| S_no | C_no | daily | final |
+-------------+--------+-------+-------+
| 18122221320 | a01564 | 88 | 93 |
| 18122221320 | c06108 | 92 | 90 |
| 18122221320 | c08123 | 85 | 95 |
| 18122221321 | c06108 | 70 | 82 |
| 18122221321 | c08123 | 85 | 94 |
| 18122221322 | a01327 | 53 | 50 |
| 18122221322 | a01564 | 64 | 50 |
| 18122221322 | c08123 | 60 | 64 |
| 18122221323 | a01564 | 88 | 84 |
| 18122221323 | c05103 | 85 | 86 |
| 18122221324 | c05103 | 95 | 86 |
| 18122221324 | c08123 | 77 | 81 |
| 18122221325 | c05103 | 88 | 90 |
+-------------+--------+-------+-------+显示score表中数据,数据符合总评成绩大于85分的学生的学号、课程号和总评成绩,并先按照课程号的升序、再按照总评成绩的降序排列的条件。总评成绩计算公式如下:总评成绩=daily*0.2+final*0.8;
-
P粉955425168
-
2023-10-19
20浏览
要按照您的要求从score表中检索数据,您可以使用以下SQL查询语句:
SELECT S_no, C_no, final
FROM score
WHERE final > 85
ORDER BY C_no ASC, final DESC;
这个查询将返回符合条件的学生的学号(S_no)、课程号(C_no)和总评成绩(final)。它首先根据课程号(C_no)进行升序排序,然后在每个课程号内部根据总评成绩(final)进行降序排序。这样,最高的总评成绩将出现在最前面。
请注意,您需要将查询中的S_no、C_no和final替换为实际的列名,并根据您的数据库结构进行调整。
php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;