SELECT COUNT(*) as count FROM my_table GROUP BY name HAVING count > 1
HAVING 子句在 SQL 中的主要作用是針對已經進行分組的結果進行篩選。它通常與 GROUP BY 一起使用,用來篩選符合條件的組(即分組後的結果),而不是針對原始資料進行篩選。
在講解 HAVING 的具體用法前,先介紹一個與它類似但有些不同的子句:WHERE。兩者都可以用來篩選資料,但它們的使用時機不同:
WHERE:在資料分組(GROUP BY)之前篩選資料。它直接作用在資料表的每一行。
HAVING:在資料分組之後篩選資料。它作用在分組的結果上,通常用來篩選聚合函數(例如 COUNT()、SUM()、AVG() 等)的結果。
舉例:
SELECT
product_id
, SUM(quantity) AS total_quantity
FROM
sales
WHERE
order_date BETWEEN '2024-01-01'
AND '2024-12-31'
GROUP BY
product_id
HAVING
total_quantity > 100
No comments:
Post a Comment