sql >> Databasteknik >  >> RDS >> Mysql

MySql self JOIN-fråga

Du kan använda aggregering här:

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

Den här frågan bör dra nytta av följande index:

CREATE INDEX idx ON skill_usage (skill_id, job_id);

Både WHERE och HAVING satser, som skrivna, är sargable , och bör kunna dra nytta av detta index.



  1. Hämta data från MySQL-databasen till html-rullgardinslistan

  2. Hur lagrar man summan av en rads multipla kolumn på samma tabells samma rads en annan kolumn?

  3. Textkomprimering i PostgreSQL

  4. Hur kan jag ta reda på standardteckenuppsättningen/sorteringen i min MySQL