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

Truy vấn để tìm các bài đăng có tập hợp thẻ chính xác (mối quan hệ nhiều-nhiều)

Đây là một bài toán phân chia quan hệ chính xác.

Trong SQL Server, hoạt động tốt phương thức (giả sử ràng buộc duy nhất trên thẻ post_id,tag ) là

SELECT post_id
FROM   post_tags
GROUP  BY post_id
HAVING MIN(CASE
             WHEN Keyword IN ( 'clever', 'interesting' ) THEN 1
             ELSE 0
           END) = 1
       AND SUM(CASE
                 WHEN Keyword IN ( 'clever', 'interesting' ) THEN 1
                 ELSE 0
               END) = 2  

Vì vậy, tôi sẽ không loại trừ ý tưởng sử dụng GROUP_CONCAT trong HAVING thay vào đó.

HAVING GROUP_CONCAT(DISTINCT Keyword ORDER BY Keyword) = 'clever,interesting'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php Mysql Tìm kiếm giữa hai ngày

  2. không mở được luồng:Không có tệp hoặc thư mục nào như vậy trong

  3. Tạo cột không gian MySQL - Kiểu dữ liệu điểm có vĩ độ dài mà không cần sử dụng bảng Alter

  4. Làm thế nào để nhận được sự khác biệt trong năm từ hai ngày khác nhau?

  5. PHP SQL:Cách lưu dữ liệu vào nhiều cơ sở dữ liệu từ một dạng html HOẶC cách sao chép dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác một cách tự động