sql group by 子句通過按列分組并聚合數(shù)據(jù)來組織數(shù)據(jù)集。它用于:將表按指定列分組應(yīng)用聚合函數(shù)(如 sum、avg、count)計(jì)算組值
SQL 中 GROUP BY 子句
GROUP BY 子句是 SQL 中一個(gè)功能強(qiáng)大的工具,它允許用戶將數(shù)據(jù)集按一個(gè)或多個(gè)列分組,并對(duì)每個(gè)組聚合數(shù)據(jù)。
作用
GROUP BY 子句的主要作用如下:
將數(shù)據(jù)集根據(jù)指定的列分組
對(duì)每個(gè)組聚合數(shù)據(jù),如計(jì)算總和、平均值或計(jì)數(shù)
語法
GROUP BY 子句的語法如下:
<code>SELECT 列名1, 列名2, ... FROM 表名 GROUP BY 列名3, 列名4, ...</code>
登錄后復(fù)制
列名1, 列名2, …:要選擇的列
表名:要查詢的表
列名3, 列名4, …:要分組的列
使用示例
以下是一個(gè)使用 GROUP BY 子句的示例:
<code>SELECT department, SUM(salary) FROM employees GROUP BY department</code>
登錄后復(fù)制
此查詢將 employees
表按 department
列分組,并計(jì)算每個(gè)部門的總工資。
聚合函數(shù)
GROUP BY 子句通常與聚合函數(shù)一起使用,這些函數(shù)對(duì)每個(gè)組計(jì)算值。一些常見的聚合函數(shù)包括:
SUM():計(jì)算總和
AVG():計(jì)算平均值
COUNT():計(jì)算計(jì)數(shù)
MIN():計(jì)算最小值
MAX():計(jì)算最大值
多列分組
GROUP BY 子句可以同時(shí)按多個(gè)列分組。例如:
<code>SELECT department, location, SUM(salary) FROM employees GROUP BY department, location</code>
登錄后復(fù)制
此查詢將 employees
表按 department
和 location
列分組,并計(jì)算每個(gè)部門和位置的總工資。