首頁 > 資料庫 > mysql教程 > 如何使用 SQL 的 GROUP BY 子句將資料聚合到範圍中?

如何使用 SQL 的 GROUP BY 子句將資料聚合到範圍中?

Barbara Streisand
發布: 2025-01-17 21:27:11
原創
571 人瀏覽過

How Can I Use SQL's GROUP BY Clause to Aggregate Data into Ranges?

用於資料範圍聚合的 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_rangescore_count,提供了定義範圍內分數分佈的清晰概覽。

以上是如何使用 SQL 的 GROUP BY 子句將資料聚合到範圍中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板