Mysql 中根据条件排序获取排名


1       SELECT user_id,left_credit,(@rownum:=@rownum+1) AS rownum
2       FROM credit_user ,(SELECT @rownum:=0) r
3       ORDER BY left_credit DESC

上面示例根据left_credit字段条件进行倒序排序,然后通过rownum获取到排名从1开始

 

      SELECT user_id,left_credit,(@rownum:=@rownum+1) AS rownum
      FROM credit_user 
      ORDER BY left_credit DESC

 去掉 (SELECT @rownum:=0) r 后,rownum就不是每次控制从1开始,而是没执行一次就逐次自增

   select * from (SELECT user_id,left_credit,(@rownum:=@rownum+1) AS rownum
      FROM credit_user ,(SELECT @rownum:=0) r
      ORDER BY left_credit DESC)T having rownum>n

排序后 选择某一行或者某几行,n是行数。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM