MySQL中对查询结果排序和限定结果的返回数量的用法教程

2023年 4月 25日 25.5k 0

MySQL Order By 查询结果排序 ORDER BY SQL 语法中 ORDER BY 关键字用于对查询结果进行排序。 排序分为升序(ASC)和降序(DESC)两种,当不使用 ORDER BY 指定排序方式时,默认为升序。 语法:

MySQL Order By 查询结果排序ORDER BY
SQL 语法中 ORDER BY 关键字用于对查询结果进行排序。
排序分为升序(ASC)和降序(DESC)两种,当不使用 ORDER BY 指定排序方式时,默认为升序。
语法:

SELECT column,… FROM tb_name ORDER BY column1,column2,… DESC(ASC)

ORDER BY 后面必须列出排序的字段名,可以是多个字段。
对 user 表 uid 进行降序查询:

SELECT uid,username FROM user ORDER BY uid DESC

查询结果如下:

uid username
4 小王
3 Jack
2 小明
1 Admin

例子 2:

SELECT username FROM user ORDER BY regdate DESC LIMIT 10

该例子查询出最新注册的 10 名用户的用户名。

MySQL Limit 限定查询记录数MySQL LIMIT
MySQL 中 LIMIT 关键字用于限定查询记录返回最大数目。
语法:

... LIMIT offset , rows

该语法中,offset表示偏移量(指向数据记录的游标),rows表示查询限定返回的最大记录数,这两个参数必须为整数。
例子:

SELECT username FROM user LIMIT 4,10

如果 user 表中的数据记录超过14条的话,该例子将会返回符合结果的第 5-14 条记录(共 10 条),注意默认偏移量是从 0 开始的。
offset 参数如果省略,则默认为 0 ,即 LIMIT 10 等同于 LIMIT 0,10 (返回符合查询条件的前 10 条记录)。
提示
LIMIT 中 rows 并不支持取值 -1 (从当前偏移量到表记录结束的所有数据),如:

SELECT username FROM user LIMIT 9,-1

运行该 SQL 会产生参数错误。
小技巧
当你确认查询结果只有一条数据时(如核对用户名密码),可以加上LIMIT 1的限制条件,当系统查询到一条数据后即停止搜索而不会继续查找下一条记录,这样可有效提高查询效率。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论