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

时间:2021-05-23

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 username4 小王3 Jack2 小明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的限制条件,当系统查询到一条数据后即停止搜索而不会继续查找下一条记录,这样可有效提高查询效率。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章