Hello world!|

CYF0913

园龄:3年6个月粉丝:0关注:2

03Day-排序与分页

一、排序数据

1.1排序规则

使用 ORDER BY 子句排序

ASC(ascend): 升序 DESC(descend):降序 ORDER BY 子句在SELECT语句的结尾。

1.2、单列排序

语法:

SELECT 字段名
FROM 表名
ORDER BY 字段名;
# 不设置升序或降序 其默认是升序
SELECT 字段名
FROM 表名
ORDER BY 字段名 DESC;
# 设置为降序

1.3、多列排序

语法:

SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY department_id,hire_date ASC;

SELECT 字段名
FROM 表名
ORDER BY 字段名1,字段名2 ASC;

 可以使用不在SELECT列表中的列排序。

在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第一列数据中所有值都是唯一的,将不再对第二列进行排序。

二、分页查询

2.1、为什么使用分页查询?

查询返回的记录太多了,查看起来很不方便表里有 4 条数据,我们只想要显示我们想看到的数据

2.2、分页(LIMT)

(1)语法:

LIMIT[位置偏移量,]行数

第一个“位置偏移量”参数 指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推);

第二个参数“行数”指示返回的记录条数。

--前10条记录:
SELECT*FROM表名LIMIT0,10;
或者
SELECT*FROM表名LIMIT10;
--第11至20条记录:
SELECT*FROM表名LIMIT10,10;
--第21至30条记录:
SELECT*FROM表名LIMIT20,10;

MySQL8.0中可以使用“LIMIT3OFFSET4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT4,3;”返回的结果相同

(2)分页显式公式

(当前页数-1*每页条数,每页条数

SELECT*FROMtable
LIMIT(PageNo- 1)*PageSize,PageSize;

注意:LIMIT子句必须放在整个SELECT语句的最后!

(3)使用LIMIT的好处

  约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有1条,就可以使用LIMIT1,告诉SELECT语句只需要返回一条记录即可。这样的好处就是SELECT不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。

 

本文作者:CYF0913

本文链接:https://www.cnblogs.com/cyf0913/p/17233300.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   CYF0913  阅读(12)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起