Sql server 重复搜索,对另一列进行二次检查

Sql server 重复搜索,对另一列进行二次检查,sql-server,ms-access,ms-access-2010,Sql Server,Ms Access,Ms Access 2010,我想在MS Access中查询第I列中的重复值,然后进行二次检查,以确保第II列中存在重复值的a和B 换句话说,第一列将匹配重复的值,第二列将确保子集内的值不同,从而使222从结果中退出 +--------+---------+ | I | II | +--------+---------+ | 111 | A | -------------------- | 111 | B | -------------------- |

我想在MS Access中查询第I列中的重复值,然后进行二次检查,以确保第II列中存在重复值的a和B

换句话说,第一列将匹配重复的值,第二列将确保子集内的值不同,从而使222从结果中退出

+--------+---------+
|    I   |    II   |  
+--------+---------+
|   111  |    A    |  
--------------------
|   111  |    B    |   
--------------------
|   222  |    A    |  
--------------------
|   222  |    A    | 
+------------------+
提前感谢您的帮助。

您只需使用DISTINCT关键字即可

select distinct colI, colII
from table1;
这将产生以下结果

+--------+---------+
|    I   |    II   |  
+--------+---------+
|   111  |    A    |  
--------------------
|   111  |    B    |   
--------------------
|   222  |    A    |  
--------------------
如果只需要111行,则可以这样做

select colI, colII
from 
(
select colI, colII, 
Max(colII) as maxcolII,
Min(colII) as mincolII
from tabl1
group by colI
) tab
where maxcolII <> mincolII

谢谢,但是access SQL不支持CountDistinctcol@userinneedfriendindeed,您添加了SQL Server标记,因此答案是针对它的。检查编辑后的答案,然后立即重试。@Rahul您的第二个查询不起作用。列“tabl1.colII”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。@Ganesh_Devlekar,这是因为另一列不是GROUP BY的一部分,但存在于选择列表中。将group by更改为group by colI,colII@Rahul正如您所说,如果您只需要111行,那么您可以这样做,然后它返回0行