• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql中关于排名函数的具体介绍

mysql 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

对MySQL数据表中的某一字段进行排名


1.原始的表数据如下图。done_seconds为完成的时间,需求为根据该字段来对每条数据进行排名。


本文来源gao($daima.com搞@代@#码(网

2.输入以下SQL语句:

SELECT A.*,@rank:=@rank+1 AS pm FROM (SELECT * FROM task_news_user_done_list ORDER BY done_seconds) A, (SELECT  @rank:=0) B

3.执行该条语句后,查询出来的结果中,加入了pm字段。该字段的值就是根据done_seconds进行排序的结果。注意,升序,降序的问题。

4.除了单个字段外,还可以对平均值进行排序。如对上表中相同user_email的done_seconds的平均值进行排序,可用以下sql语句:

SELECT A.*,@rank:=@rank+1 AS pm FROM (SELECT user_email, AVG(done_seconds) AS done_seconds FROM task_news_user_done_list GROUP BY user_email ORDER BY done_seconds) A, (SELECT  @rank:=0) B

5.排序后结果如下图。此时的排名就是所有相同user_email的done_seconds进行的平均值排名。


6.当然还可以根据需要加入where等限制条件。如下图。

觉得有用的点下赞。


以上就是mysql中关于排名函数的具体介绍的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql中关于排名函数的具体介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址