有个学生表,三个字段名称、科目、成绩,问怎么用sql查询每个科目的前三名,下面是一个答案的sql,思路是对的,但是有一个小问题,大家看看吧 ,后期会补上标准答案的。

SELECT
	* 
FROM
	`score_t` a 
WHERE
	( SELECT count(*) FROM score_t b WHERE a.`subject` = b.SUBJECT AND a.score < b.score )< 3 
ORDER BY
	a.`subject`,
	a.score DESC;

-END-

如果你喜欢我的分享,欢迎关注微信公众号 java学长分享技术干货!

悄悄告诉你免费赠送重磅互联网架构师教程,提升职场技术水平!

sql真实面试题,抓紧学习吧 娃娃们_java