在mysql8 之前的版本,因为没有rank()方法的存在,所以在对字段进行排名时,使用的是自定义自变量的方法,比如:

select id,name,@rank=@rank+1 as ranks from user u, (select @rank=0) ran order by u.age

自定义一个变量rank用来进行排名,求其中某一个值的排名只需要在外面加一层select就行:

select ranks from (select id,name,@rank=@rank+1 as ranks from user u, (select @rank=0) ran order by u.age) r where id=xxx

这样在mysql8之前是能够得到具体数值的,但是在mysql 8之后,ranks会被重置为1。即我们在最后使用where查询后,ranks不再代表最后的排名。不过同时,mysql8也提供了新方法rank()。我们可以使用

select ranks from (select user_id, rank() over(order by price desc)
as ranks from bid ) res where user_id=xxx

这样就可以得到最后对应字段某条值的排名。

最新文章

  1. [游戏开发-学习笔记]菜鸟慢慢飞(九)- NGUI- UIPanel(官方说明翻译)
  2. C#中使用Redis不同数据结构的内存占有量的疑问和对比测试
  3. hdu.1104.Remainder(mod && ‘%’ 的区别 && 数论(k*m))
  4. Apache脚本路径别名(CGI接口)
  5. Tomcat 启动报错:javax.naming.NamingException: No naming context bound to this class loader
  6. zabbix web监控模板
  7. PHP 接口 返回构造函数
  8. centos7 更新Firefox版本
  9. 你所不知道的ASP.NET Core MVC/WebApi基础系列(一)
  10. MySQL_列值为null对索引的影响_实践
  11. js,jQuery获取html5的data-*属性
  12. eclipse中js报错简单快捷的解决方式
  13. [Day8] eclipse
  14. 1131 Subway Map DFS解法 BFS回溯!
  15. luoguP1368 工艺(最小表示法 后缀自动机)
  16. Python小白学习之路(二十)—【打开文件的模式二】【文件的其他操作】
  17. 解决启动mongod 时,出现addr already in use错误
  18. FCLK、HCLK、PCLK
  19. echarts仪表盘配置参数
  20. GitHub上创建组织

热门文章

  1. jdbc操作mysql(二):封装
  2. MySQL列举常见的关系型数据库和非关系型都有那些?
  3. Linux centos7 -bash: pstree: 未找到命令
  4. bat 使用ftp进行文件上传
  5. K8S资源编排(yaml)
  6. KMP算法中的几个疑问
  7. MacOS隐藏及显示文件
  8. Hash值和位运算
  9. JAVA反序列化漏洞基础原理
  10. Mybatis简单查询