MySQL排序与分页

文章目录

  • 排序
    • 单列排序
    • 多列排序
  • 分页
    • 分页
    • MySQL8.0新特性

排序

单列排序

使用ORDER   BY对查询到的数据进行排序操作,ASC(ascend)—>升序,DESC(descend)—>降序。

格式:
SELECT   字段1,字段2,字段3…
FROM  表名
WHERE  筛选条件
ORDER   BY  排序的字段 DESC/ASC;

如果ORDER   BY后边没有显示指明排序的方式的化话,则默认升序。

1)当SELECT语句中同时包含多个子句时,如:WHERE、GROUP  BY、HAVING、ORDER  BY子句,ORDER  BY子句必须是最后一个子句。
2)可以使用列的别名、列的位置进行排序。
MySQL排序与分页_第1张图片
MySQL排序与分页_第2张图片

ORDER BY中可以使用列的别名,WHERE中不可以使用列的别名。在MySQL数据库中的语句执行顺序不是按照从上到下的顺序。

MySQL排序与分页_第3张图片
WHERE 需要声明在FROM后,ORDER BY之前

多列排序

SELECT   字段1,字段2,字段3…
FROM  表名
WHERE  筛选条件
ORDER   BY  排序的字段 1 DESC/ASC,排序的字段2  DESC/ASC;

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

MySQL排序与分页_第4张图片

分页

分页

mysql使用LIMIT实现数据的分页显示
格式为:

SELECT   字段1,字段2,字段3…
FROM  表名
LIMIT   位置偏移量,显示条目数;

需求:每页显示pageSize条记录,此时显示第pageNo页:
公式:LIMIT (pageNo-1) * pageSize,pageSize;
结构"LIMIT 0,条目数" 等价于 “LIMIT 条目数”

声明顺序:WHERE ... ORDER BY ...LIMIT
MySQL排序与分页_第5张图片

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

MySQL8.0新特性

MySQL8.0新特性:LIMIT  显示条目数OFFSET   位置偏移量;

MySQL排序与分页_第6张图片

LIMIT 可以使用在MySQL、PGSQL、MariaDB、SQLite 等数据库中使用,表示分页。
不能使用在SQL Server、DB2、Oracle!

你可能感兴趣的:(MySQL,mysql,数据库,java)