ORDER BY 句は、指定された列名でクエリと分析の結果をソートします。
構文
ORDER BY column_name [DESC | ASC]
-
複数の列でソートできます。 例:
ORDER BY column_name1 [DESC | ASC], column_name2 [DESC | ASC]。 -
DESC または ASC を省略した場合、結果はデフォルトで昇順にソートされます。
-
ある列に同一の値が含まれる場合、実行ごとにソート順が異なることがあります。 ソート順を安定させるには、ORDER BY 句に複数の列を指定してください。
パラメーター
|
パラメーター |
説明 |
|
列名 |
ソート対象の列。 ログフィールドまたは集計関数のエイリアスを指定できます。 |
|
DESC |
結果を降順にソートします。 |
|
ASC |
結果を昇順にソートします。 |
例
-
例 1: HTTP ステータスコードごとのリクエスト数をカウントし、リクエスト数を降順にソートします。
-
クエリ分析文
* | 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 は 2691.13、Logstore date は 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の値ごとのcountを含む 3 つのレコードが表示されます: 10.0 (count: 145)、11.0 (count: 123)、12.0 (count: 113)。
-