我需要在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都被重复。
答案 0 :(得分:0)
我看到您的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;