MySQL排序和分页
排序和分页
排序数据
排序规则
如果没有使用排序操作:按照默认来排序(添加顺序)
使用 ORDER BY对查询数据进行排序
- 升序:ASC(默认升序,null先排序)
- 降序: DESC
列的别名只能在 ORDER BY 中使用
注:WHERE和ORDER BY同时出现时WHERE和FROM紧挨
单列排序(一级排序)
SELECT id
from employees
ORDER BY id DESC;
多列排序(二级排序)
SELECT id #id升序的基础上name降序
from employees
ORDER BY id DESC,name ASC;
分页
背景
- 查询记录太多,不方便
- 表中有四条数据,想查第二条和第三条,怎么办呢
实现规则
LIMIT
- 公式:配置size条数据,显示第n页
LIMIT (n-1)*size(偏移量),size(显示多少条数据);
SELECT id,name
from employees
limit 0,1;#显示一条记录,显示第一页
SELECT id,name
from employees
limit 1,1;#显示一条记录,显示第二页
WHERE...ORDER BY...LIMIT的综合应用
声明顺序:先WHERE,再ORDER BY,最后LIMIT
SELECT id,name
from employees
WHERE id > 1000
ORDER BY name desc
limit 0,2;
8.0新特性(颠倒一下)
LIMIT 显示多少条(条目数) OFFSET 偏移量;
拓展
LIMIT可以在MySQL、MariaDB、PGSQL、SQLLite等数据库中使用;
不能在SQL Server、DB2、Oracle!中使用