MySQL中使用limit实现分页

一、背景

查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?

二、分页原理

所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件
1、 怎么分段,当前在第几段(每页有几条,当前在第几页)

前10条记录:SELECT * FROM table LIMIT 0,10;
    第11至20条记录:SELECT * FROM table LIMIT 10,10;
    第21至30条记录: SELECT * FROM table LIMIT 20,10;

2、公式:
(当前页数-1)*每页条数,每页条数

SELECT * FROM table LIMIT(PageNo - 1)*PageSize,PageSize;

3、 注意:
limit子句必须放在整个查询语句的最后!

三、案例实战

# 分页
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC;

# 查询工资top 10的信息:第一页
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 0,10;

# 查询第3页的数据:21 - 30
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 20,10;
#公式
# 查询pageNo页的数据,其中每页显示pageSize条数据
#limit (pageNo - 1) * pageSize,pageSize

你可能感兴趣的:(SQL/MySQL/Redis)