開始使用免費開始

SQL 懶人包(2)

另一個常見的資料庫作業是彙總。也就是把資料切成多個區塊,然後對每個區塊做摘要。

在 SQL 中,你可以用 GROUP BY 指令來完成。這個指令會把資料分群,並將你在 SELECT 敘述中指定的函式套用到每個群組。

例如,若你想要計算每個起飛機場的航班數量,可以使用下列查詢:

SELECT COUNT(*) FROM flights
GROUP BY origin;

GROUP BY origin 告訴 SQL,輸出結果要針對 origin 欄位的每個唯一值各有一列。SELECT 敘述則選擇你要填入每個欄位的值。這裡,我們想要對每個群組的每一列做 COUNT()

你也可以針對多個欄位做 GROUP BY。這樣做時,結果表會針對各欄位唯一值的每一種組合各有一列。以下的查詢會計算從 SEA 與 PDX 飛往每個目的地機場的航班數:

SELECT origin, dest, COUNT(*) FROM flights
GROUP BY origin, dest;

輸出會針對 origindest 的每個值組合各有一列(也就是列出每個出發與目的地的組合)。同時也會有一個欄位放入各群組所有列的 COUNT()

想更深入了解 SQL,請參考這裡的課程: here

這個查詢會取得什麼資訊?提醒一下,flights 資料表包含 2014 與 2015 年從 PDX 與 SEA 起飛的航班資訊。注意,AVG() 會計算某欄位的平均值!

SELECT AVG(air_time) / 60 FROM flights
GROUP BY origin, carrier;

本練習屬於課程

PySpark 基礎

檢視課程

動手互動練習

將理論付諸實踐,立即體驗我們的互動練習

開始練習