Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL избира множество идентификатори едновременно с php

Един прост подход използва агрегиране:

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

Горната заявка е използваема , което означава, че подходящ индекс може да използва idSkill колона. Помислете за добавяне на този индекс за допълнителна производителност:

CREATE INDEX idx ON skills (idUser, idSkill);

Редактиране:

Използвайте тази заявка за 3 елемента:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql заявка с И, ИЛИ и НЕ

  2. Laravel Eloquent срещу конструктор на заявки - Защо да използвате eloquent за намаляване на производителността

  3. MySQL премахва място преди поръчка по клауза

  4. Добавяне на нула към масив, ако в масива има празни стойности

  5. Mysql заявка към средно време