order by子句用于对查询的结果集进行排序,在order by后面可以接多个需要排序的字段。
order by子句
在select语句中,可以接where、group by、having和order by这四个子句,而这四个子句的书写顺序也是如此排列的。order by后面接排序的字段,形如sql
select * from table order by [column1] asc, [column2] desc;
。
示例
存在一张记录水果名称、产地以及价格的表fruit,如下:
order by子句对查询结果集进行排序,asc表示升序,desc表示降序,不写默认为asc。
SELECT * FROM fruit ORDER BY product_place DESC;
SELECT * FROM fruit ORDER BY price;
多字段按从左到右顺序依次进行排序,左边字段的优先级高,右边字段只能在左边字段值相等的情况下局部排序。
SELECT * FROM fruit ORDER BY product_place DESC, price ASC;
从上图可以看出,结果集首先按照product_place进行降序排序,然后在此基础上对product_place中相同的值按照price进行升序排序。
总结
order by子句对查询结果集进行排序,默认为asc升序,使用desc为降序。