ORDER BY子句用于根据指定的列名对查询和分析结果进行排序。
语法
ORDER BY 列名 [DESC | ASC]
-
您可以指定多个列名,按照不同的排序方式排序。例如
ORDER BY 列名1 [DESC | ASC], 列名2 [DESC | ASC]。 -
如果您未配置关键字DESC或ASC,则系统默认对查询和分析结果进行升序排列。
-
当排序的目标列中存在相同的值时,每次排序结果可能不同。如果您希望每次序列结果相同,可指定多个列进行排序。
参数说明
|
参数 |
说明 |
|
列名 |
列名即为日志字段名称或聚合函数计算结果列,即支持按照日志字段名称(KEY)或聚合函数计算结果列进行排序。 |
|
DESC |
降序排列。 |
|
ASC |
升序排列。 |
示例
-
示例1:统计不同请求状态码对应的请求次数,并按照请求次数降序排列。
-
查询和分析语句
* | SELECT count(*) AS PV, status GROUP BY status ORDER BY PV DESC -
查询和分析结果:查询结果按PV降序排列,返回数据包括:状态码
200对应PV为163135,状态码206对应PV为1224,状态码207对应PV为1186,状态码305对应PV为1185,状态码301对应PV为1184,状态码307对应PV为1182,状态码302对应PV为1180,状态码203对应PV为1177。
-
-
示例2:计算各个LogStore的平均延迟时间,并按照平均延迟时间进行降序排列。
-
查询和分析语句
* | SELECT avg(latency) AS avg_latency, LogStore GROUP BY LogStore ORDER BY avg_latency DESC -
查询和分析结果包含三条记录:Logstore test 的 avg_latency 为 3833.0,Logstore website_log 的 avg_latency 为 2691.13,Logstore date 的 avg_latency 为 2608.06。
-
-
示例3:计算不同请求时长对应的请求数量,并按照请求时长进行升序排序。
其中,content、time和request_time为JSON日志中的字段。
重要在查询和分析JSON类型的日志时,需注意以下事项。更多信息,请参见查询和分析JSON日志。
-
必须给字段名称加上JSON中父路径前缀,例如content.time.request_time。
-
分析语句中的JSON字段名称必须使用双引号("")包裹,例如"content.time.request_time"。
-
查询和分析语句
* | SELECT "content.time.request_time", count(*) AS count GROUP BY "content.time.request_time" ORDER BY "content.time.request_time" -
查询和分析结果返回三条记录:
content.time.request_time为 10.0 时count为 145,为 11.0 时count为 123,为 12.0 时count为 113。
-