sql >> Databasteknik >  >> RDS >> Mysql

Mysql - hitta konversation som endast hålls av två användare

Att använda din fråga kommer inte att fungera eftersom where klausul filtrerar bort user_id. Använd

SELECT * FROM participants
GROUP BY conversation_id
HAVING sum(user_id not in (1,2)) = 0

user_id not in (1,2) returnerar 1 om ett user_id annat än 1,2 är i en konversation och 0 annat. Så använder SUM du kan lägga ihop alla dessa fall. Om ingen hittas är summan 0 .



  1. Att skapa en utlösare för infogning av underordnade tabeller returnerar ett förvirrande fel

  2. Flera sätt att ta bort dubbletter från SQL-tabeller

  3. Flera ladda upp php-skript och lagra i mysql-databas

  4. Optimeringströsklar – gruppering och aggregering av data, del 1