如何在给定的表中找到每个主题的前三名

如何在给定的表中找到每个主题的前三名,第1张

如何在给定的表中找到每个主题的前三名

您可以使用变量执行此 *** 作。

select t.*from (select t.*,  (@rn := if(@s = subject, @rn + 1,  if(@s := subject, 1, 1) )  ) as rn      from t cross join(select @rn := 0, @s := '') params      order by subject, marks desc     ) t where rn <= 3order by t.subject, t.rn;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存