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"
查詢和分析結果