重复的值SQL(MS Access)

  • 本文关键字:MS Access SQL sql ms-access
  • 更新时间 :
  • 英文 :


我需要在2个或多个字段中找到重复的记录。但在Access中使用此功能不起作用:

SELECT assay.depth_from, assay.au_gt
FROM assay 
GROUP BY depth_from, au_gt
HAVING count(*) >1;

我是不是错过了什么?它确实与这里的各种答案相匹配,所以不确定是什么。

我刚从中得到一个depth_from重复的记录,但au_gt不重复。事实上,并不是所有的depth_from都是重复的。

我发现SQL可能存在两个语法问题。首先,您可能不需要在字段名之前使用assay.前缀,因为您已经指定了要从哪个表中选择,这会使您对GROUP BY中这些字段的引用不一致。如果在SELECT语句中使用assay.,也可以在GROUP BY中使用它。其次,您应该在SELECT语句中包含count(*)。这基本上是出于同样的原因——无论您在GROUP BY和HAVING中引用什么,都应该是您在SELECT中指定的列名。试试这个:

SELECT depth_from, au_gt, count(*) FROM assay GROUP BY depth_from, au_gt HAVING count(*) >1;

最新更新