重复值SQL(MS Access)

时间:2018-11-13 15:55:39

标签: 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都被重复。

1 个答案:

答案 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;