2016-05-19 8 views

Antwort

1

Um alle Fäden zu erhalten, wo diese zwei Benutzer in Ihnen sind, können

select thread_id 
from your_table 
where user_id in (1,2) 
group by thread_id 
having count(distinct user_id) = 2 

tun, um alle Themen zu erhalten, die mehr als einen Benutzer tun haben

select thread_id 
from your_table  
group by thread_id 
having count(distinct user_id) >= 2 
+0

juergen, Vielen Dank für Ihre Hilfe! =) Ich denke, ich habe ein Problem gefunden, woher weiß ich, welchen Benutzer es in distinct setzen muss, weil wie unten das SQL nicht funktionieren würde. select * von participant_thread wo user_id in (2, 3) Gruppe von thread_id mit count (distinct user_id) = 3 –

+1

die Anzahl der Benutzer Legen Sie setzen in die 'where' Klausel. Wenn du 'where user_id in (1,3,7,9)' hast, dann benutze 'having count (distinct user_id) = 4' –

+0

Ow! Es tut uns leid! Sie haben Recht! Danke =) –

-1
select thread_id, user_id 
from thread.thread_table 
where thread_id in (
    select thread_id 
    from thread.thread_table 
    group by thread_id 
    having count(user_id) > 1 
); 
0

Ich habe nicht sehr gut verstanden, was Sie wollten, aber so wie ich es verstehe, nehme ich an, dass dies so ist.

select thread_id, COUNT(thread_id) AS dup_count from participant_thread as participant 
GROUP BY thread_id 
HAVING (COUNT(thread_id) > 1) 

result scrypt

Verwandte Themen