MySQL中对查询结果排序和限定结果的返回数量的用法教程
MySQLOrderBy查询结果排序
ORDERBY
SQL语法中ORDERBY关键字用于对查询结果进行排序。
排序分为升序(ASC)和降序(DESC)两种,当不使用ORDERBY指定排序方式时,默认为升序。
语法:
SELECTcolumn,…FROMtb_nameORDERBYcolumn1,column2,…DESC(ASC)
ORDERBY后面必须列出排序的字段名,可以是多个字段。
对user表uid进行降序查询:
SELECTuid,usernameFROMuserORDERBYuidDESC
查询结果如下:
uidusername 4小王 3Jack 2小明 1Admin
例子2:
SELECTusernameFROMuserORDERBYregdateDESCLIMIT10
该例子查询出最新注册的10名用户的用户名。
MySQLLimit限定查询记录数
MySQLLIMIT
MySQL中LIMIT关键字用于限定查询记录返回最大数目。
语法:
...LIMIToffset,rows
该语法中,offset表示偏移量(指向数据记录的游标),rows表示查询限定返回的最大记录数,这两个参数必须为整数。
例子:
SELECTusernameFROMuserLIMIT4,10
如果user表中的数据记录超过14条的话,该例子将会返回符合结果的第5-14条记录(共10条),注意默认偏移量是从0开始的。
offset参数如果省略,则默认为0,即LIMIT10等同于LIMIT0,10(返回符合查询条件的前10条记录)。
提示
LIMIT中rows并不支持取值-1(从当前偏移量到表记录结束的所有数据),如:
SELECTusernameFROMuserLIMIT9,-1
运行该SQL会产生参数错误。
小技巧
当你确认查询结果只有一条数据时(如核对用户名密码),可以加上LIMIT1的限制条件,当系统查询到一条数据后即停止搜索而不会继续查找下一条记录,这样可有效提高查询效率。