在 sql 中,group by 子句用于根據(jù)指定列分組并計(jì)算聚合值:分組數(shù)據(jù):根據(jù)特定的列將數(shù)據(jù)組織成組。計(jì)算聚合值:對(duì)每個(gè)組的列值進(jìn)行匯總計(jì)算,例如求和、平均值或計(jì)數(shù)。
GROUP BY 的含義
在 SQL 中,GROUP BY 子句用于根據(jù)指定的列對(duì)數(shù)據(jù)進(jìn)行分組,并對(duì)每個(gè)組計(jì)算聚合值。聚合值是通過(guò)將組內(nèi)所有行的值進(jìn)行特定的運(yùn)算(如求和、平均值或計(jì)數(shù))而獲得的。
如何使用 GROUP BY
GROUP BY 子句在 SELECT 語(yǔ)句中使用,其語(yǔ)法格式如下:
<code class="sql">SELECT <a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/51779.html" target="_blank">聚合函數(shù)</a>(列名) FROM 表名 GROUP BY 列名1, 列名2, ...</code>
登錄后復(fù)制
其中:
聚合函數(shù) 是要對(duì)組內(nèi)值進(jìn)行的運(yùn)算,例如 SUM(), AVG(), 或 COUNT()。
列名 是用來(lái)分組數(shù)據(jù)的列。
示例
考慮以下表:
| 姓名 | 類(lèi)別 | 成績(jī) |
|---|---|---|
| 張三 | 數(shù)學(xué) | 80 |
| 李四 | 數(shù)學(xué) | 90 |
| 王五 | 英語(yǔ) | 75 |
| 趙六 | 英語(yǔ) | 85 |
要計(jì)算每個(gè)類(lèi)別的平均成績(jī),可以使用以下查詢(xún):
<code class="sql">SELECT 類(lèi)別, AVG(成績(jī)) FROM 表名 GROUP BY 類(lèi)別;</code>
登錄后復(fù)制
結(jié)果將是:
| 類(lèi)別 | 平均成績(jī) |
|---|---|
| 數(shù)學(xué) | 85 |
| 英語(yǔ) | 80 |






