这样过不了 ``` select a.id,b.name,a.score from `language` b right join ( select s.id,s.language_id,s.score,s.rank from ( select g.id,g.language_id,g.score, (select count(distinct gg.score) from grade gg where gg.score>= g.score and gg.language_id = g.language_id) rank from grade g )s where s.rank<=2 )as a on a.language_id = b.id order by b.name asc,a.score desc,a.id asc ``` 用子查询就能过,好气 ``` select a.id,b.name,a.score from `language` b right join ( select g.id,g.language_id,g.score from grade g where ( select count(distinct gg.score) from grade gg where gg.score>= g.score and gg.language_id = g.language_id )<=2 )as a on a.language_id = b.id order by b.name asc,a.score desc,a.id asc ```
点赞

相关推荐

迷茫的大四🐶:都收获五个了,兄弟那还说啥,不用改了,去玩吧
点赞 评论 收藏
分享
11-25 22:06
已编辑
华为 2012基座大模型(预研) 15A 硕士985
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务