在mysql中limit关键字用来强制SELECT 语句返回指定的记录数。
SELECT * FROM table LIMIT [rows1] | rows2;
第一个参数(rows1)指定偏移量(跳过的行数),第二个参数(rows2)指定返回的最大行数
若省略第一个参数此时可以视其为:第一个参数默认为0的双参数LIMIT子句),则尽可能地返回指定的行数并且不会跳过原本没指定LIMIT时返回的结果行中的任意一行!
示例:如下图所示,原本的sql语句
select u.*,r.roleName as userRole from smbms_user u,smbms_role r where u.userRole = r.id;
查询到的有12条记录:
现追加关键字LIMIT于sql语句中:limit 5
select u.*,r.roleName as userRole from smbms_user u,smbms_role r where u.userRole = r.id limit 5;
只输出了原来未指定LIMIT 子句时的前5个结果:
追加limit 14:
追加limit 4,5: 跳过前四行结果,只返回5行:
追加limit 0,5 : 结果与 limit 5 一致:
实际应用
LIMIT与ORDER BY关键字配合使用查询排名前几的记录
result表中存储着未被排序的成绩
查询排名前三的记录
SELECT * FROM `result`
ORDER BY `studentresult` DESC LIMIT 0,3;