MySQL查询以下内容

MySQL查询以下内容,mysql,select,Mysql,Select,我有一张样品台“ 我希望结果是: A | 2 A | 0 A | 0 C | 2 C | 1 i、 e, 我不希望第二列中具有相同值的行不是最有效的查询,但我想您希望这样: SELECT * FROM test WHERE C1 NOT IN ( SELECT C1 FROM test GROUP BY C1 HAVING COUNT(DISTINCT(C2)) = 1 ); 我假设您不希望记录只有一列一个示例;如果您希望: (例如,如果有一个“D | 1”行,并且您需要它) 编辑:

我有一张样品台“

我希望结果是:

A | 2
A | 0
A | 0
C | 2
C | 1
i、 e,
我不希望第二列中具有相同值的行不是最有效的查询,但我想您希望这样:

SELECT * FROM test WHERE C1 NOT IN (
  SELECT C1 FROM test
  GROUP BY C1 HAVING COUNT(DISTINCT(C2)) = 1
);
我假设您不希望记录只有一列一个示例;如果您希望:

(例如,如果有一个“D | 1”行,并且您需要它)


编辑:以下是假设您的表中字符列为'ch',数字列为'value',您可以执行以下操作:

select t.ch, t.value
from test t
  join (
    select ch, count(distinct value) as 'dst'
    from test
    group by ch
    having count(distinct value)=1
  ) as q on t.ch!=q.ch;

SUSUQuery查找只有一个不同值的ch。它们不包括在联接中。

您的表结构不清楚。您的问题不清楚。其他行不应该被删除,因为它们在第2列中具有相同的值?为什么结果中的第2行和第3行没有被删除?如果第二列具有多个相同值in第1列,然后我希望选择所有
SELECT * FROM test WHERE C1 NOT IN (
  SELECT C1 FROM test
  GROUP BY C1 HAVING COUNT(DISTINCT(C2)) = 1 AND COUNT(C2) > 1
);
select t.ch, t.value
from test t
  join (
    select ch, count(distinct value) as 'dst'
    from test
    group by ch
    having count(distinct value)=1
  ) as q on t.ch!=q.ch;