mysql 的分页查询

て烟熏妆下的殇ゞ 提交于 2019-12-03 03:56:55

原文

###一、mysql 的 limit 语法

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset  

LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。

为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。第一个#表示记录行的最大数目,第二数表示从第几行开始记录。


###二、mysql 的分页方式

基本分页方式

SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10  

子查询的分页方式

SELECT * FROM articles WHERE  id >=
 (SELECT id FROM articles  WHERE category_id = 123 ORDER BY id LIMIT 10000, 1) LIMIT 10 

JOIN 分页方式

SELECT * FROM `content` AS t1
JOIN (SELECT id FROM `content` ORDER BY id desc LIMIT ".($page-1)*$pagesize.", 1) AS t2
WHERE t1.id <= t2.id ORDER BY t1.id desc LIMIT $pagesize;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!