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
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_noC_nofinal替换为实际的列名,并根据您的数据库结构进行调整。

php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;