limit 接收一个或两个参数。
可以实现前排前几行的数据或排后几行的数据,或者中间几行的数据
order
by + 关键字
表示按关键字什么顺序排列,默认是正序,从小到大,
order by + 关键字 desc 表示按倒序排列,从大到小顺序。
如:倒序排列取前几行数据:
order
by
id
desc
limit 10 按照id的倒序排序 取出前10条
order
by
id
desc
limit 0,10 按照id的倒序排序 取出前10条
换句话说,Limit n 等价于 Limit 0,n。
如:正序排列取中间几行数据,默认从0开始
order
by
id limit 5,10 表示按照id的正序排序 从第6条开始取10条,
即取出第6行到第15行数据
如:取出从某行到最后一行的数据:
可以指定第二个参数为 -1,表示到最后一行
SELECT * FROM table LIMIT 95,-1; 表示检索记录行从96行到文末最后一行的所有数据,
示例
(转载):
假设有一张数据库表user_info, 第一列为id,用作唯一标识;第二列为user_name,用户姓名;第三列是some_data,存储某数值,
找出这张表中,按第三列数值降序排列,排在前5的所有用户记录
select * from user_info order by some_data desc limit 5;
但是可能有重复数据,用一下distinct 关键字
select * from user_info where some_data >= (select distinct some_data from user_info order by some_data desc limit 4,1) order by some_data desc;