sql 中的 group by 子句用于分組數據并計算聚合值:按指定列或表達式分組數據。計算每個組的聚合值(如 sum、count、min、max 等)。減少數據集大小,更易于處理和分析。
GROUP BY 用途
SQL 中的 GROUP BY 子句用于將數據集按指定列或表達式進行分組,并基于每個組計算聚合值(如 SUM、COUNT、MIN、MAX 等)。
作用
GROUP BY 的主要作用如下:
聚合數據:將數據按組進行聚合,生成匯總信息。例如,計算每個客戶的訂單總額或每個部門的員工總數。
分組行:按指定列或表達式對數據進行分組,將具有相同組值的行組合在一起。這使得更輕松地識別和分析不同組之間的模式和差異。
減少數據集大小:通過分組和聚合,GROUP BY 可以顯著減少數據集的大小,使其更易于處理和分析。
語法
GROUP BY 子句的語法如下:
<code>SELECT aggregation_function(column_name) FROM table_name GROUP BY column_name;</code>
登錄后復制
示例
例如,以下查詢按客戶分組并計算每個客戶的訂單數量:
<code>SELECT COUNT(*), customer_name FROM orders GROUP BY customer_name;</code>
登錄后復制
這個查詢將返回一個結果集,其中每一行表示一個獨特的客戶,以及他們的訂單數量。
注意事項
GROUP BY 子句必須出現在聚合函數之前。
只能按在 SELECT 列表或 HAVING 子句中引用的列或表達式進行分組。
如果在 GROUP BY 子句中包含的列包含 NULL 值,則會在分組中創建單獨的組。