0
点赞
收藏
分享

微信扫一扫

mysql中的分页

数数扁桃 2022-04-06 阅读 60

1 数据准备

CREATE TABLE `stuscore` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `score` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `subject` varchar(255) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (1, 'zs', '80', 'english');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (2, 'zs', '90', 'math');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (3, 'wu', '70', 'english');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (4, 'wu', '90', 'math');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (5, 'xx', '80', 'dl');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (6, 'zs', '89', 'yuwen');

2 实验

2.1 使用LIMIT进行分页

2.1.1 LIMIT n

单独使用LIMIT n代表获取前n条数据如:

SELECT * FROM stuscore LIMIT 2;

拿取的是stuscore前2条数据。

2.2.2 LIMIT n,m

表示跳过前n个获取m个数据如:

SELECT * FROM stuscore LIMIT 0,2;

分页公式LIMIT (当前页码-1)*页面数据量,页面数据量

2.2 LIMIT m OFFSET n

OFFSET为跳过的数据量,LIMIT为要选区的数据量。
分页公式
LIMIT(每页数据量) OFFSET 为(当前页码-1)*每页数据量。
查询第一页(每页两条数据)

SELECT * FROM stuscore LIMIT 2 OFFSET 0;

查询第二页

-- 第二页LIMIT(每页两条数据) OFFSET 为(当前页码-1)*页大小
SELECT * FROM stuscore LIMIT 2 OFFSET 2;
举报

相关推荐

0 条评论