sql >> Base de Datos >  >> RDS >> Mysql

MySQL selecciona múltiples ID al mismo tiempo con php

Un enfoque simple utiliza la agregación:

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

La consulta anterior es sargable , lo que significa que un índice apropiado puede usar el idSkill columna. Considere agregar este índice para obtener un mayor rendimiento:

CREATE INDEX idx ON skills (idUser, idSkill);

Editar:

Utilice esta consulta para 3 elementos:

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