MySQL排序和分页(浅入浅出)

举报
yd_249383650 发表于 2023/03/30 19:10:12 2023/03/30
【摘要】 ​  排序规则 使用 ORDER BY 子句排序 ASC(ascend): 升序(默认)DESC(descend):降序ORDER BY 子句在SELECT语句的结尾。单列排序SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date ;​编辑SELECT last_na...

  排序规则 使用 ORDER BY 子句排序

 

ASC(ascend): 升序(默认)

DESC(descend):降序

ORDER BY 子句在SELECT语句的结尾。

单列排序

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

编辑

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


编辑


SELECT employee_id, last_name, salary*12 annsal
FROM   employees
ORDER BY annsal;

 编辑

  多列排序

SELECT last_name, department_id, salary
FROM   employees
ORDER BY department_id, salary DESC;

 编辑

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

分页

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

背景2:表里有 4 条数据,我们只想要显示第 2、3 条数据怎么办呢?

编辑

 编辑

 分页显式公式:(当前页数-1)*每页条数,每页条数

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

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



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。