600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python计算选手最后得分并取出前三名_MySQL中查询获取每个班级成绩前三名的学生信息...

python计算选手最后得分并取出前三名_MySQL中查询获取每个班级成绩前三名的学生信息...

时间:2022-06-10 13:20:33

相关推荐

python计算选手最后得分并取出前三名_MySQL中查询获取每个班级成绩前三名的学生信息...

今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了。

CREATE TABLE t_testscore( pk_id INT PRIMARY KEY, c_name VARCHAR(50) , c_score INT, c_class INT )DEFAULT CHARSET=utf8;

INSERT INTO t_testscore VALUES (1, '张三6', 66, 1),(2, '张三5', 65, 1),(3, '张三4', 64, 1), (4, '张三3', 63, 1),(5, '张三2', 62, 1);

INSERT INTO t_testscore VALUES (11, '李四6', 76, 2),(12, '李四5', 75, 2),(13, '李四4', 74, 2), (14, '李四3', 73, 2),(15, '李四2', 72, 2);

SELECT * FROM t_testscore t

WHERE EXISTS(SELECT COUNT(*) FROM t_testscore ts WHERE ts.c_score>=t.c_scoreand ts.c_class=t.c_classGROUP BY ts.c_class HAVING COUNT(*)<=3)

ORDER BY c_class,c_score DESC;

ps:当年写这个代码没有详细研究,只是解决了当时的基本问题,谢谢 liuchao2472 朋友的提醒,我又重新修改了代码,红色加粗的部分是新增的,这样应该就OK了!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。