当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL中对查询结果排序和限定结果的返回数量的用法教程

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网