Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

kueri tabel pesan sql

Ini akan memilih semua percakapan yang memiliki pengguna 1 atau pengguna 2, atau keduanya, tetapi tidak ada orang lain:

select conversationID
from conversations
group by conversationID
having count(*) = count(case when userID in (1,2) then 1 end)

Jika Anda juga ingin semua percakapan yang memiliki pengguna 1 dan 2 persis, dan tidak ada orang lain, Anda juga harus menambahkan an dan condition:

select conversationID
from conversations
group by conversationID
having count(*) = count(case when userID in (1,2) then 1 end)
       and count(*) = 2 -- number of elements in set

Jika userID dapat diduplikasi, lebih baik menggunakan yang berbeda:

select conversationID
from conversations
group by conversationID
having
  count(distinct userID) = count(distinct case when userID in (1,2) then userID end)
  and count(distinct userID) = 2 -- number of elements in set


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UPDATE dengan SELECT, apakah akan mengunci setiap baris atau semua record SELECT

  2. Hasil perpotongan Mysql

  3. Kueri SQL Maksimum per halaman

  4. Bagaimana memilih dari MySQL di mana nama Tabel adalah Variabel

  5. temukan elemen terbesar ke-N dalam SQL