列之间具有特定关系的行

时间:2018-01-08 20:56:38

标签: mysql sql

假设我有一个mysql表" MyTable"具有以下内容

------------
|  Result  | 
------------
|    1     |
------------
|    4     |
------------

我想获得第1列中的值,其中第1列中的值不会与' a'结果是

P1

因为值2和3仅与' a'成对。 (是否只有1对或多对' a'无关紧要)。

注意:我不知道第2栏中的可能值是什么 - 我只是想避免仅与' a'配对。有什么建议吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以检查有计数的column1(distinct column2)= 2

select column1 
from my_table 
where column1 in (
  select column1
  from my_tbale 
  group by column1
  having count(distinct column2) =2
)

答案 1 :(得分:1)

我认为你正在寻找这样的东西:

SELECT DISTINCT col1 from your_table t1 WHERE
(SELECT COUNT(DISTINCT col2) from your_table t2 WHERE t1.col1 = t2.col1)  > 1

通过这种方式,您可以确保从col1获得的值与来自col2的多个值相关联。 您还可以获取col1中与col2的所有值相关联的值的结果:

SELECT DISTINCT col1 from your_table t1 WHERE
(SELECT COUNT(DISTINCT col2) from your_table t2 WHERE t1.col1 = t2.col1)  = 
(SELECT COUNT(DISTINCT col2) from your_table t3)

答案 2 :(得分:0)

SELECT DISTINCT column_1 FROM my_table WHERE column_2 <> 'a';