sql >> Databáze >  >> RDS >> Mysql

MySQL vybere více id současně s php

Jeden jednoduchý přístup používá agregaci:

SELECT idUser
FROM skills
WHERE idSkill IN (4, 9)
GROUP BY idUser
HAVING MIN(idSkill) <> MAX(idSkill);

Výše uvedený dotaz je sargable , což znamená, že vhodný index může používat idSkill sloupec. Zvažte přidání tohoto indexu pro zvýšení výkonu:

CREATE INDEX idx ON skills (idUser, idSkill);

Upravit:

Použijte tento dotaz pro 3 položky:

SELECT idUser
FROM skills
WHERE idSkill IN (2, 4, 9)
GROUP BY idUser
HAVING COUNT(DISTINCT idSkill) = 3;


  1. Výukový program připojení SQL

  2. Export CLOB do textového souboru pomocí Oracle SQL Developer

  3. Jak nastavit výchozí řádek pro dotaz, který nevrací žádné řádky?

  4. php-mysql načte další a předchozí id z databáze