我有一个包含两列的MySQL表user_1
和user_2
。列数据可能包含以下数据:
user_1 | user_2
foo | bar
foo | baz
def | bar
abc | def
foo | bar
abc | def
我有兴趣编写一个user_1
仅与user_2
的一个实例匹配的查询,即使它曾多次出现过。因此,在这种情况下,abc
和def
发生了两次,abc
没有任何其他user_2
匹配,因此这将是一个命中。 def
和bar
匹配,以便在上述abc
匹配时返回总计2。 foo
在此查询中不匹配,因为它至少有一个以user_2
不唯一的实例。
答案 0 :(得分:1)
SELECT *
FROM (
SELECT *
FROM table_name
GROUP BY user_1, user_2) AS temp
GROUP BY user_1
HAVING count(user_2) = 1;