Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL chọn nhiều id cùng lúc với php

Một cách tiếp cận đơn giản sử dụng tổng hợp:

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

Truy vấn trên là sargable , nghĩa là một chỉ mục thích hợp có thể sử dụng idSkill cột. Xem xét thêm chỉ mục này để tăng hiệu suất:

CREATE INDEX idx ON skills (idUser, idSkill);

Chỉnh sửa:

Sử dụng truy vấn này cho 3 mục:

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. Chỉ hàng đầu tiên từ truy vấn sql được hiển thị

  2. Dữ liệu MySQL chứa các ký tự đặc biệt như š và ć, nhưng chúng được hiển thị dưới dạng '?' trên trang web. Tại sao?

  3. MySQL - Cải thiện hiệu suất truy vấn CẬP NHẬT cho các phép tính phức tạp

  4. Sử dụng Cố vấn Sao lưu Cơ sở dữ liệu để Tự động hóa Nhiệm vụ Bảo trì

  5. Tại sao Tìm kiếm thông minh lại nhanh như vậy trên facebook