SQL 的 GROUP BY
子句:資料聚合與行輸出
資料聚合是資料庫分析的基石。 SQL 的 GROUP BY
子句提供了根據指定列對行進行分組並對這些組應用聚合函數的機制。
讓我們使用範例表 Tab1
檢查查詢,其中包含 a1
、a2
、a3
等欄位(沒有唯一識別行)。考慮這個查詢:
<code class="language-sql">SELECT a1, a2, SUM(a3) FROM Tab1 GROUP BY a1, a2;</code>
破解查詢結果
GROUP BY
子句根據 Tab1
和 a1
的唯一組合將 a2
的行分成幾組。 此查詢為每個不同的 (a1, a2) 對產生一行。
對於每組,SUM(a3)
函數計算 a3
值的總和。 因此,輸出顯示每個唯一 (a1, a2) 組合的聚合 a3
總和。
它總是回傳單行嗎?
查詢的輸出並不總是一行。 它傳回多行 — 每個唯一的 (a1, a2) 組一行。行數直接取決於 Tab1
中不同組別的數量。 只有當 Tab1
有一行,或所有行共用相同的 a1
和 a2
值時,查詢才會產生一行。
以上是SQL「GROUP BY」子句如何聚合資料以及何時傳回單行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!