mysql 的分页查询
mysql 的分页查询
中柠檬 发表于1年前
mysql 的分页查询
  • 发表于 1年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

原文

###一、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;
  • 点赞
  • 收藏
  • 分享
粉丝 7
博文 177
码字总数 83718