2016-04-08 27 views
0

我有一個MySQL列表,有兩列,分別爲user_1user_2。列數據可能有數據如下所示:mysql group by子句找到多個匹配點

user_1 | user_2 foo | bar foo | baz def | bar abc | def foo | bar abc | def

我有興趣寫一個查詢,其中僅user_1user_2一個實例相匹配,即使是在多個場合。所以在這種情況下,abcdef發生了兩次,並且abc沒有任何其他的user_2比賽,所以這將是一個打擊。 defbar匹配,以便返回總計2與上述abc匹配的計數。 foo在此查詢中不匹配,因爲它至少有一個以上的實例,其中user_2不唯一。

回答

1
SELECT * 
FROM (
     SELECT * 
     FROM table_name 
     GROUP BY user_1, user_2) AS temp 
GROUP BY user_1 
HAVING count(user_2) = 1;