Mysql 选择columnA具有多个唯一columnB值的行
如何检索Mysql 选择columnA具有多个唯一columnB值的行,mysql,Mysql,如何检索colA具有多个唯一colB值的行 例如: +------+------+ | colA | colB | +------+------+ | 1 | A | | 1 | B | | 2 | C | | 3 | D | | 3 | D | +------+------+ 鉴于上述数据,我只想检索colA=1的记录,因为这是colB中唯一一个具有多个唯一值的列 我的头脑绕不过去。我觉得我错过了一些非常明显的东西 这是可能的吗?您
colA
具有多个唯一colB
值的行
例如:
+------+------+
| colA | colB |
+------+------+
| 1 | A |
| 1 | B |
| 2 | C |
| 3 | D |
| 3 | D |
+------+------+
鉴于上述数据,我只想检索colA=1
的记录,因为这是colB
中唯一一个具有多个唯一值的列
我的头脑绕不过去。我觉得我错过了一些非常明显的东西
这是可能的吗?您可以使用
exists
作为
select * from table_name t1
where exists(
select 1 from table_name t2
where t1.colA = t2.colA
and t1.colB <> t2.colB
)
您可以使用COUNT(DISTINCT..)
获取每列a值的不同列b值的计数,然后使用HAVING
子句仅获取您需要的:
SELECT colA
FROM myTable
GROUP BY colA
HAVING COUNT(DISTINCT colB) > 1;
下面是一个示例。谢谢-第一个查询就是我需要的
SELECT colA
FROM myTable
GROUP BY colA
HAVING COUNT(DISTINCT colB) > 1;