ORDER BY用于根据指定字段对查询结果排序。搭配LIMIT,可以限制排序后的查询结果的返回行数。本文介绍ORDER BY语法与使用示例。
语法
ORDER BY expression
[ ASC | DESC ]
[ LIMIT count]
参数 | 是否必填 | 说明 |
| 必填 | 指定需要进行排序的字段,取值说明如下:
|
| 选填 | 指定查询结果根据目标字段进行升序或降序排列,取值说明如下:
说明 若在 |
| 指定查询结果的返回行数。 未指定该参数时,默认返回所有结果行。 |
示例
统计在不同城市售出的设备数量,并按照设备名称和销售量排列,语句如下:
SELECT os,device,city,COUNT(*) AS num FROM requests GROUP BY os,device,city ORDER BY num,device;
返回结果如下:
os |device |city |num --------+-------+-------------+--- Linux |PC |Shanghai |1 windows |PC |Shenzhen |1 windows |PC |Shanghai |1 windows |PC |Hangzhou |1 windows |Phone |Shenzhen |1 Linux |Phone |Hangzhou |1 ios |Phone |Zhangjiakou |1 windows |PC |Shijiazhuang |2 Linux |PC |Beijing |2 ios |Phone |Shijiazhuang |2 windows |Phone |Shijiazhuang |2 Linux |Phone |Beijing |2 windows |PC |Beijing |4
统计设备销售数量排名前5的城市,并按照设备名称降序,按照销售量升序排列,语句如下:
SELECT os,device,city,COUNT(*) AS num FROM requests GROUP BY os,device,city ORDER BY 2 DESC,4 ASC LIMIT 5;
返回结果如下:
os |device |city |num -------+-------+------------+---- ios |Phone |Zhangjiakou |1 windows|Phone |Shenzhen |1 Linux |Phone |Hangzhou |1 windows|Phone |Shijiazhuang|2 Linux |Phone |Beijing |2