MySQL查询表重复数据的SQL

WBOY
WBOYオリジナル
2016-06-07 14:58:201197ブラウズ

MySQL查询表中重复数据,比如现在需要查询出表中条码重复的记录,在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数

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。

本文永久更新链接地址

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。