練習:使用排序運算子重新排序傳回的資料
回想一下,在暴風雨事件範例中,您已依照時間範圍、關鍵字及特定資料行中的值,將事件範圍縮小。 現在您想要整理這些結果,以便先看到最具破壞力的暴風雨事件。
使用 sort
運算子
未排序的資料很難理解。 接下來要規劃呈現結果的順序,讓資料更簡單易懂。 因為想知道哪些事件造成最嚴重的財物損失,所以依欄位 DamageProperty
來排序結果。
執行下列查詢:
StormEvents | where DamageProperty > 0 | project State, EventType, DamageProperty | sort by DamageProperty desc
您應該會取得如下圖所示的結果:
請注意,本結果會從最高的財物損失額開始呈現,並逐步減少。 查詢預設會以遞減順序來排序,因此您可以省略
desc
並取得相同結果。 州和事件種類不會以任何方式排序。
在不只一個運算式上排序
每個地區都有獨特的天氣模式,因此您想知道在各州何種事件會造成最大損失。 為了找出此問題的解答,您要先排序州名,再排序各州的損失額。 運算子 sort
預設會以遞減順序來排序,因此要使用 asc
來表示您想要以遞增順序來排序的州名。
執行下列查詢:
StormEvents | where DamageProperty > 0 | project State, EventType, DamageProperty | sort by State asc, DamageProperty
您應該會取得如下圖所示的結果:
可注意到您所取得的資料表的資料列與上次查詢相同,但以不同順序來排序。 接著會先依州名排序,從 Alabama (阿拉巴馬州)開始。 在阿拉巴馬州的結果中,財務損失額依遞減順序來排序。
使用 top
運算子
您可以使用 top
運算子來顯示特定數目的前幾項結果,而非排序和瀏覽特定數量的前幾項結果。 事實上,top
運算子效能較佳,因此只想要特定數目的前幾項結果時,這是較為推薦的選擇。
執行下列查詢:
StormEvents | where State == "FLORIDA" | top 10 by DamageProperty | project State, EventType, DamageProperty
您應該會取得如下圖所示的結果: