Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

टैग के सटीक सेट के साथ पोस्ट खोजने की क्वेरी (अनेक-से-अनेक संबंध)

यह एक सटीक संबंधपरक विभाजन समस्या है।

SQL सर्वर में एक अच्छा प्रदर्शन करने वाला विधि (post_id,tag पर अद्वितीय बाधा मानकर ) है

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  

इसलिए मैं GROUP_CONCAT . का उपयोग करने के विचार से इंकार नहीं करूंगा HAVING . में इसके बजाय।

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. आईडी की अधिकतम संख्या वाले चयन आईडी

  2. PHP:MySQL ब्लॉब से सीधे <img> टैग में छवि पुनर्प्राप्ति

  3. Wordpress के लिए कस्टम डेटा संग्रहीत करने के लिए सबसे अच्छा अभ्यास क्या है

  4. php . में mysql की तालिका से गिनती (*) का चयन करें

  5. MySQL WHERE IN क्लॉज के साथ इंडेक्स का उपयोग नहीं कर रहा है?