MySQL查询表重复数据的SQL

wyywn 2015-09-22

MySQL查询表中重复数据,比如现在需要查询出表中条码重复的记录,SQL如下:

SELECT GUIDE_BARCODE  FROM checker_barcode

GROUP BY GUIDE_BARCODE HAVING COUNT(GUIDE_BARCODE) >1

现在查询重复的数据的sql是出来了,但是一般写sql可能都会像我这样写出来:

SELECT GUIDE_BARCODE FROM checker_barcode

where COUNT(GUIDE_BARCODE) >1

GROUP BY GUIDE_BARCODE

把having后面的条件当做where条件来查询,可是把count函数作为where条件进行查询时,sql语法是不对的,因为W3School关于having函数的介绍第一句话是:

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

那也就是说,这五种函数不能和where条件一起使用,但是可以和having一起使用查询出希望的结果。

合计函数:mysql五种合计函数的种类包括:avg,count,sum,min,max。

相关推荐