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

Permintaan MySQL untuk menemukan ID di mana beberapa kondisi bertemu untuk satu kolom

SELECT ID, TYPE FROM types NATURAL JOIN (
  SELECT ID FROM types GROUP BY ID HAVING SUM(COLOR='Red') AND SUM(COLOR='Blue')
) t WHERE COLOR IN ('Red', 'Blue')

Lihat di sqlfiddle .

Atau, jika Anda senang memiliki tipe yang digabungkan menjadi string yang dibatasi, Anda dapat mengekstrak data yang diinginkan dalam satu lintasan:

SELECT   ID, GROUP_CONCAT(TYPE)
FROM     types
WHERE    COLOR IN ('Red', 'Blue')
GROUP BY ID
HAVING   COUNT(*) = 2

Lihat di sqlfiddle .

Perhatikan bahwa, jika tabel Anda mungkin berisi beberapa record dengan (ID, COLOR) yang sama pasangan, Anda harus mengganti COUNT(*) dengan COUNT(DISTINCT COLOR) . yang lebih mahal .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Reset Kata Sandi Admin WordPress melalui Command Prompt MySQL

  2. bagaimana cara memeriksa kueri yang sedang berjalan di database mysql saya?

  3. String dan susunan koneksi database

  4. Permintaan MySQL:Cocokkan nilai yang dipisahkan koma dengan kolom yang berisi string yang dipisahkan koma

  5. MySQL memperbarui bidang dengan variabel yang bertambah