SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 对MySQL数据表中的某一字段进行排名
1.原始的表数据如下图。done_seconds为完成的时间,需求为根据该字段来对每条数据进行排名。
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中关于排名函数的具体介绍的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|