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。