服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL中对查询结果排序和限定结果的返回数量的用法教程

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

2020-05-27 15:14MYSQL教程网 Mysql

这篇文章主要介绍了MySQL中对查询结果排序和限定结果的返回数量的用法教程,分别讲解了Order By语句和Limit语句的基本使用方法,需要的朋友可以参考下

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

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

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

?
1
SELECT uid,username FROM user ORDER BY uid DESC

查询结果如下:

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

例子 2:

?
1
SELECT username FROM user ORDER BY regdate DESC LIMIT 10

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

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

?
1
... LIMIT offset , rows

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

?
1
SELECT username FROM user LIMIT 4,10

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

?
1
SELECT username FROM user LIMIT 9,-1

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

延伸 · 阅读

精彩推荐