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

MYSQL/PHP किसी दिए गए आइटम के साथ सबसे आम आइटम सहयोगी ढूंढता है

एक क्वेरी के साथ प्रारंभ करें जिसमें आपके द्वारा चयनित आइटम वाले सभी संग्रह प्राप्त हों:

SELECT collectionId
FROM wishLists
WHERE itemId = 876

इससे, आप उन संग्रहों में अन्य सभी आइटम आईडी प्राप्त करना चाहते हैं।

SELECT itemId
FROM wishLists
WHERE collectionId IN (above query)
AND itemId != 876

इसे जॉइन के रूप में फिर से लिखा जा सकता है:

SELECT a.itemId
FROM wishLists AS a
JOIN wishLists AS b ON a.collectionId = b.collectionId
WHERE a.itemId != 876 AND b.itemId = 876

अब आप सबसे आम खोजने के लिए इसके दोहराव की गणना कर सकते हैं:

SELECT a.itemId
FROM wishLists AS a
JOIN wishLists AS b ON a.collectionId = b.collectionId
WHERE a.itemId != 876 AND b.itemId = 876
GROUP BY a.itemId
ORDER BY COUNT(*) DESC

एक LIMIT nजोड़ें शीर्ष n आइटम दिखाने के लिए अंत में क्लॉज।




  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. MySQL क्वेरी में नहीं काम नहीं कर रहा है

  3. mysql को जोड़ने और कमांड चलाने के लिए बैच फ़ाइल

  4. SQL एक कॉलम के मान को उसी तालिका में दूसरे कॉलम के मानों के बराबर सेट करता है

  5. MySQL पर गतिरोध पंक्तियों को हटा रहा है