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


本文摘自PHP中文网,作者黄舟,侵删。

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


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

1.png


2.输入以下SQL语句:

1

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

2.png

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

3.png

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

1

2

3

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

4.png

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

5.png


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

觉得有用的点下赞。

6.png


以上就是mysql中关于排名函数的具体介绍的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

mysql笔记之修改表的实现方法

mysql5.7中的json基本操作指南

详解mysql线程状态

在centos 7安装mysql 5.7的详细教程

mysql为什么不让删外键?

mysql流程控制语句包括哪些?

mysql8.0.21.0社区版安装教程(图文详解)

mysql怎么删除数据表中的行数据(记录)?

详解oracle中的translate函数和replace函数

mysql查询时间基础教程

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...