1. 查詢SQL表中某個字段的重復數據
SELECT user_name,COUNT(*) AS count FROM db_user_info GROUP BY user_name HAVING count > 1; SELECT user_name FROM db_user_info GROUP BY user_name HAVING COUNT(1) > 1; SELECT * FROM db_user_info WHERE user_name IN (SELECT user_name FROM db_user_info GROUP BY user_name HAVING COUNT(1) > 1);
- HAVING是分組(GROUP BY)后的篩選條件,分組后的數據組內再篩選;WHERE 則是在分組前篩選。
- WHERE 子句中不能使用聚集函數,而 HAVING 子句中可以,所以在集合函數中加上了 HAVING 來起到測試查詢結果是否符合條件的作用。即 HAVING 子句的適用場景是可以使用聚合函數。