参考:http://fellowtuts.com/mysql/query-to-obtain-rank-function-in-mysql

前段时间看到个帖子,是关于用 SQL 查询排名的。
那个帖子里针对的数据库是 Oracle,用到了 Oracle 自带的函数 RANK(或 DENSE_RANK)。
由于 MySQL 里没有相应的类似函数,所以写 SQL 会稍微繁琐一点。

参考文章的主要思路:

  • 对目标列排序
  • 设置一个变量作为排名值,在每条记录中自增 1

方案一

SQL: (如果想要降序排名,可以改成 ORDER BY age DESC)

效果:(值相同,排名不同)

方案二

SQL: (

暂存上一条记录的 age (@prevRank)。

> 如果当前 age 与其相等,使用与前一记录相同的排名;

> 否则排名加一,并更新 @prevRank

)

效果:(值相同,排名也相同;排名值连续递增)

方案三

SQL: (

增加一个变量(@incRank)用于记录序号(类似方案一)。

> 如果当前 age 与上一条记录相同,使用与前一记录相同的排名(类似方案二)

> 否则使用序号(@incRank)

效果:(值相同,排名也相同;排名值递增不连续)

附数据:

  • 大小: 6.6 KB
  • 大小: 10.9 KB
  • 大小: 7.5 KB
  • 大小: 10.7 KB
  • 大小: 9 KB
  • 大小: 8.2 KB
  • 大小: 17.2 KB
  • 查看图片附件

MySQL 查询排名相关推荐

  1. MySql 查询排名前10(包含并列)Sql

    今天一个测试的朋友去面试,考察了她数据库查询的一些语法问题,但是一些细节她没有考虑进去被刷下了.果然行业标准提高了啊. 贴一下笔试题目. –1.学生表 Student(SId,Sname,Sage,S ...

  2. mysql:查询排名

    sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序 ...

  3. MySQL 查询学生的总成绩并进行排名_MySQL查询各科成绩前三名的记录及排名(不考虑成绩并列情况)...

    MySQL查询各科成绩前三名的记录及排名(不考虑成绩并列情况) MySQL查询各科成绩前三名的记录及排名(不考虑成绩并列情况) 我的表结构: 先放代码 -- 查询各科成绩前三名的记录(不考虑成绩并列情 ...

  4. mysql 查询字段排名_mysql:查询排名

    sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序 ...

  5. mysql 查询成绩排名_mysql 学生成绩查询排名

    sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序 ...

  6. MySql排序并查询排名

    MySql排序并查询排名 SELECT u.uid,u.name,u.score, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0 ...

  7. mysql作排名,MYSQL实现排名及查询指定用户排名功能(并列排名功能)实例代码...

    前言 本文主要介绍了关于MYSQL实现排名及查询指定用户排名功能(并列排名功能)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 表结构: CREATE TABLE test ...

  8. mysql查询成绩排名

    mysql查询成绩排名 表: create table study.sort_table (name varchar(20) null comment '姓名',score int null comm ...

  9. mysql排名第一_SQL查询排名第二名的信息

    今天看见同学去面试的面试题,查询出某个字段排名第二名的信息,自己就看看 如果是Oracle ,这不就是考察Oracle分页么,以Oracle的emp表为例,根据薪水排名,查询排名第二的员工信息: se ...

最新文章

  1. 单个Transformer完成信息检索,谷歌用可微搜索索引打败双编码器模型
  2. python之33个关键字详解_Python 中的关键字 with 详解
  3. MKTickerView
  4. 圈子 | 精彩预告:P2P金融那些事儿
  5. excel 公式 单引号 concat_Excel两个新函数帮你快速搞定批量连接
  6. 博士生录取采用审核制,存在的一些明显问题!
  7. oracle查询数据库日志大小,Oracle的日志缓冲区大小查询方法———学习笔记 | 学步园...
  8. PHP中的Array类型其实是Hashtable
  9. mysql 转int_MySQL索引凭什么能让查询效率提高这么多?
  10. RFC2616中文版(8)连接
  11. matlab求两点的距离,matlab求两点间距离
  12. 深刻理解Binder机制
  13. 批量生成条形码并写入到excel文件
  14. 获取当周和上周的周一、周日时间
  15. 曹雪芹的诗歌鸿蒙,曹雪芹的诗
  16. 干货 | 18个 Python 高效编程技巧
  17. 计算机基础知识制图,计算机绘图基础
  18. 如何成为一名优秀的网络工程师?
  19. 野兽北京读书记:关于精神力量的层次
  20. 深入理解volatile(Java)

热门文章

  1. 如何理解服务注册和服务发现
  2. SCAU 1035 打印菱形图案
  3. Kali Linux渗透测试之被动信息收集(一)——nslookup、dig、DNS区域传输,DNS字典爆破,DNS注册信息
  4. BIM模型文件下载——施工场地部署模型
  5. 项目2—职员有薪水了
  6. 程序员必看的十部电影
  7. MongonDB下载、安装(Windows)、配置详解
  8. linux查看是否已安装GCC及安装GCC
  9. Unity CustomFont (怎么制作图片文字)
  10. AWTRIX像素灯DIY制作过程