limit 分页
原理:
/*
limit m,n
m 表示从下标为 m 的记录开始查询,第一条记录下标为 0,n 表示取出 n 条出来,如 果从 m 开始不够 n 条了,就有几条取几条。m=(page-1)*n,(page 页码,n 表示每页显示的条数)
如果第一页 limit 0,n
如果第二页 limit n,n
依次类推,得出公式 limit (page-1)*n , n
*/
方法:
#5.LIMIT m,n
SELECT * FROM students LIMIT 0,5;
SELECT * FROM students LIMIT 0,10;
#查询获取原表前三天记录
SELECT * FROM students LIMIT 0,3;
#查询年龄最小的两位同学的信息
SELECT * FROM students ORDER BY s_age LIMIT 0,2;
#查询年龄最大的三位同学的信息
SELECT * FROM students ORDER BY s_age DESC LIMIT 0,3;
#查询年龄最大者信息[方案-1:子查询]
SELECT * FROM students WHERE s_age=
(SELECT MAX(s_age) FROM students
);
#查询年龄最大者信息[方案-2:LIMIT]
SELECT * FROM students ORDER BY s_age DESC LIMIT 0,1;
#补充测试数据
INSERT INTO student VALUES(5,'我爱罗','男',18,'13884558123',1),(6,'小李','男',18,'13884558123',1),(7,'漩涡鸣人','男',23,'13884558123',1),(8,'彭于晏','女',24,'13884558123',2),(9,'张学友','女',23,'13884558123',2),(10,'胡歌','男',21,'13884558123',2),(11,'黎明','男',20,'13884558123',2),(12,'郭富城','男',21,'13884558123',3),(13,'周星驰','女',22,'13884558123',3),(14,'成龙','女',25,'13884558123',3),(15,'马龙','男',19,'13884558123',3);
#查看所有信息
SELECT * FROM students;
#将students表中的数据[15条] 分三页显示
#第一页 [1-5]
SELECT * FROM students LIMIT 0,5;
#第一页 [6-10]
SELECT * FROM students LIMIT 5,5;
#第一页 [11-15]
SELECT * FROM students LIMIT 10,5;
#公式limit (page-1)*n , n [page表示页码 n表示每页显示的条数]
SELECT * FROM students LIMIT 0,5;
#SELECT * FROM students LIMIT (1-1)*5,5;
SELECT * FROM students LIMIT 5,5;
#SELECT * FROM students LIMIT (2-1)*5,5;
SELECT * FROM students LIMIT 10,5;
#SELECT * FROM students LIMIT (3-1)*5,5;