

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# sort
<a name="CWL_QuerySyntax-Sort"></a>

 使用 `sort` 按指定欄位以遞增 (`asc`) 或遞減 (`desc`) 順序顯示日誌事件。您可以搭配使用 `limit` 命令來建立「前 N 個」或「底部 N 個」查詢。

排序演算法是自然排序的更新版本。如果您以遞增順序排序，則會使用下列邏輯。
+  所有非數值都先於所有數值。*數值*是僅包含數字的值，而不是數字和其他字元的組合。
+ 對於非數值，演算法會將連續的數值字元和連續的字母字元分組為不同的區塊以供比較。它會依其 Unicode 值排序非數值部分，然後依其長度排序數值部分，再依其數值排序。

如需 Unicode 順序的詳細資訊，請參閱 [Unicode 字元清單](https://en.wikipedia.org/wiki/List_of_Unicode_characters)。

例如，以下是依遞增順序排序的結果。

```
!:	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sorted by unicode order
#
*%04
0#	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Alphanumeric starting with numbers
5A
111A   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  Starts with more digits than 5A, so it sorted to be later than 5A
2345_
@	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2345 is compared with @ in the unicode order, 
@_
A	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Values starting with letters
A9876fghj
a12345hfh
0	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Number values
01
1
2
3
```

如果您以遞減順序排序，排序結果會相反。

例如，下列 Amazon VPC 流程日誌的查詢會找出跨主機的前 15 個封包傳輸。

```
stats sum(packets) as packetsTransferred by srcAddr, dstAddr
    | sort packetsTransferred  desc
    | limit 15
```