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

MySql self JOIN query

Anda dapat menggunakan agregasi di sini:

SELECT job_id
FROM skill_usage
WHERE skill_id IN (3, 4)
GROUP BY job_id
HAVING MIN(skill_id) <> MAX(skill_id);

Kueri ini harus mendapat manfaat dari indeks berikut:

CREATE INDEX idx ON skill_usage (skill_id, job_id);

Keduanya WHERE dan HAVING klausa, seperti yang tertulis, sargable , dan harus dapat memanfaatkan indeks ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Server mysql di MAMP tidak bisa dijalankan

  2. Mengapa prosedur tersimpan saya menimbulkan kesalahan 'Tidak ada data - baris nol diambil, dipilih, atau diproses' ketika saya memiliki WHERE dalam pernyataan?

  3. Data dari dua tabel tanpa mengulang data dari yang pertama?

  4. Pilih kueri dengan tiga di mana kondisinya lambat, tetapi kueri yang sama dengan kombinasi dua dari tiga di mana kondisinya cepat

  5. Mesin penyimpanan terbaik untuk data yang terus berubah