group by 語句用于按指定列對數據集進行分組,并將同組數據聚合。語法:select 列名1, 列名2, …from 表名group by 分組列名;它可以與聚合函數結合使用,例如 sum、count、avg,對組內數據進行匯總。優點包括簡化數據分析、識別模式趨勢,以及提高查詢性能。
GROUP BY 語句在 SQL 中的用法
什么是 GROUP BY 語句?
GROUP BY 語句用于將數據集中的行分組,并將相同組中的數據聚合為一個結果行。
語法
<code class="sql">SELECT 列名1, 列名2, ... FROM 表名 GROUP BY 分組列名;</code>
登錄后復制
分組列指定要根據其分組數據的列。可以對一個或多個列進行分組。
聚合函數可用于聚合組中的數據,例如 SUM、COUNT、AVG。
用法
GROUP BY 語句通常與聚合函數一起使用,以計算組中數據的匯總值。例如:
<code class="sql">-- 計算銷售表中每個產品的總銷量 SELECT ProductName, SUM(Quantity) AS TotalQuantity FROM Sales GROUP BY ProductName;</code>
登錄后復制
結果
GROUP BY 語句將返回一個結果集,其中包含分組列中指定列的唯一值以及聚合列的計算結果。
優點
簡化數據分析,將數據組織成有意義的組
識別數據中的模式和趨勢
提高查詢性能,因為分組數據比處理所有行更有效率
示例
假設有一張包含以下人員數據的表:
Name | Age | Gender |
---|---|---|
John | 25 | Male |
Mary | 30 | Female |
Bob | 40 | Male |
Alice | 28 | Female |
Tom | 35 | Male |
以下 GROUP BY 查詢會將人員按性別分組,并計算每組的人數:
<code class="sql">SELECT Gender, COUNT(*) AS Count FROM People GROUP BY Gender;</code>
登錄后復制
結果:
Gender | Count |
---|---|
Male | 3 |
Female | 2 |