用於資料範圍聚合的 SQL GROUP BY
分析不同範圍內的資料分佈是資料分析的重要面向。 SQL 的 GROUP BY
子句提供了一種強大的機制,用於將資料聚合到預先定義的群組中,有助於產生簡潔的匯總表和報告。
建立基於範圍的群組
為了將資料分類到特定範圍,我們利用 CASE WHEN
語句根據定義的條件將值指派給新欄位。然後,這個新建立的欄位將用作使用 GROUP BY
子句對資料進行分組的基礎。
說明性範例:分數範圍分組
讓我們考慮一個場景,我們需要確定特定區間(例如 0-9、10-19、20-29)內的分數頻率。 以下查詢建構一個表示這些分數範圍的新欄位:
<code class="language-sql">SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END AS score_range FROM scores;</code>
此查詢產生一個 score_range
列,將每個分數分配到其對應的範圍。
使用 GROUP BY 進行聚合
為了計算每個範圍內的分數計數,我們將 COUNT(*)
聚合函數與 GROUP BY
子句結合使用。下面的查詢實現了這一點:
<code class="language-sql">SELECT score_range, COUNT(*) AS score_count FROM ( SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END AS score_range FROM scores ) AS ranged_scores GROUP BY score_range;</code>
輸出
結果表顯示兩列:score_range
和 score_count
,提供了定義範圍內分數分佈的清晰概覽。
以上是如何使用 SQL 的 GROUP BY 子句將資料聚合到範圍中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!