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
查詢和分析結果
示例2:計算各個Logstore的平均延遲時間,并按照平均延遲時間進行降序排列。
查詢和分析語句
* | SELECT avg(latency) AS avg_latency, LogStore GROUP BY LogStore ORDER BY avg_latency DESC
查詢和分析結果
示例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"
查詢和分析結果
文檔內容是否對您有幫助?