MySQL 数据库查询第几大的数据信息

MySQL 数据库查询第几大的数据信息

在数据库查询过程中我们经常会遇到各种各样的数据查询需求,这里主要说一下MySQL数据库查询第几大数据的查询方式。

知识点:[mark]limit子句用于限制查询结果返回的数量。[/mark]

语法:select * from table limit m,n ;

其中m是指记录开始的index,从0开始,表示第一条记录;n是指从第m+1条开始,取n条。

 

例:

我们要提取之前“数据导入”文章中练习数据中的第10大的年龄,并查询处于该年龄段的用户信息。

第一步:查询出“第十大年龄”的字段信息,并添加到中间变量

select distinct 年龄 from `2.1`.用户明细 order by 年龄 desc limit 9, 1 into @第十大年龄;

语句说明:

  • 1.  distinct 年龄:对年龄字段进行去重,只针对与排序字段有重复项的进行操作,如确定排序字段无重复项,可不去重;
  • 2.  order by  年龄 desc :使用年龄字段对数据进行降序排列;
  • 3.  limit 9,1:从第10条数据开始提取,提取一条数据,即排名第十的年龄。(数据的记录是从0开始的)
  • 4. into @第十大年龄:将查询出来的字段存入中间变量“第十大年龄”

第二步:查询第十大年龄的所有数据

select * from `2.1`.用户明细 where 年龄=@第十大年龄;