题目

找出重复出现的数据

image.png
方法一:使用GROUP BY 聚合计数,再用WHERE语句对子查询筛选

  1. SELECT
  2. 姓名
  3. ,计数
  4. FROM (
  5. SELECT
  6. 姓名
  7. ,count(姓名)as 计数
  8. FROM 学生表
  9. GROUP BY 姓名
  10. ) T
  11. WHERE 计数 > 1

方法二:使用GROUP BY 聚合计数,再用HAVING 语句对分组聚合的结果直接筛选

  1. SELECT
  2. 姓名
  3. ,count(姓名)as 计数
  4. FROM 学生表
  5. GROUP BY 姓名
  6. HAVING COUNT(姓名)>1

举一反三

找出重复出现N次的数据

  1. SELECT
  2. 姓名
  3. ,count(姓名)as 计数
  4. FROM 学生表
  5. GROUP BY 姓名
  6. HAVING COUNT(姓名)>N

删除重复值

  1. delete from 表名 where 列名 in(这里是查找出重复数据的SQL语句)