table name:test
表中的数据内容

按照age查询重复的数据
SELECT age FROM test GROUP BY age HAVING COUNT(1) > 1;

按照age查询重复的数据及重复的次数
SELECT age,COUNT(*) AS count FROM test GROUP BY age HAVING count > 1;

按照age查询所有重复的行
SELECT * FROM test WHERE age IN (SELECT age FROM test GROUP BY age HAVING COUNT(1) > 1);

- HAVING是分组(GROUP BY)后的筛选条件,分组后的数据组内再筛选;WHERE 则是在分组前筛选。
- WHERE 子句中不能使用聚集函数,而 HAVING 子句中可以,所以在集合函数中加上了 HAVING 来起到测试查询结果是否符合条件的作用。即 HAVING 子句的适用场景是可以使用聚合函数。
本文详细介绍了如何使用SQL语句查询数据库中重复的数据,包括仅查询重复的年龄数据、重复数据及其出现次数,以及所有重复行的具体信息。通过对比WHERE与HAVING子句的用法,深入理解聚合函数的应用场景。
4486

被折叠的 条评论
为什么被折叠?



