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