MySQL中对查询结果排序和限定结果的返回数量的用法教程
程序员文章站
2024-02-25 17:01:33
mysql order by 查询结果排序
order by
sql 语法中 order by 关键字用于对查询结果进行排序。
排序分为升序(asc)和降序(desc...
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的限制条件,当系统查询到一条数据后即停止搜索而不会继续查找下一条记录,这样可有效提高查询效率。