GROUP BY 和 HAVING 子句用於對 SQL 查詢結果進行分組和篩選。 GROUP BY 將行劃分為群組,而 HAVING 過濾滿足特定條件的群組。
GROUP BY 和HAVING 子句在SQL 中的用法
引言:
GROUP BY 和HAVING 子句是SQL 中用於對查詢結果進行分組和篩選的高階聚合函數。
GROUP BY 子句:
GROUP BY 子句用於將結果集中的行劃分為不同的群組。群組的劃分是基於一個或多個列,稱為分組列。每個群組中的所有行都共用相同的分組列值。
語法:
<code>SELECT aggregate_func(column_name) FROM table_name GROUP BY column_name1, column_name2, ...</code>
HAVING 子句:
HAVING 子句用於過濾 GROUP BY 子句產生的群組。它只選擇滿足特定條件的群組。條件可以基於聚合函數的結果。
語法:
<code>SELECT aggregate_func(column_name) FROM table_name GROUP BY column_name1, column_name2, ... HAVING condition</code>
使用案例:
區別:
GROUP BY 子句將行分組,而HAVING 子句對GROUP BY 子句產生的群組進行篩選。 GROUP BY 子句必須先於 HAVING 子句。
範例:
找出銷售總額超過 1000 美元的每個產品類別:
<code>SELECT product_category, SUM(sales) AS total_sales FROM sales_table GROUP BY product_category HAVING total_sales > 1000</code>
以上是sql中group by having用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!