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

मेल खाने वाले टैग वाले आइटम को मिलान करने वाले टैग की संख्या के आधार पर ऑर्डर करना

कुछ इस तरह का प्रयास करें:

select article_id, count(tag_id) as common_tag_count
from articles_tags 
group by tag_id
where tag_id in (
    select tag_id from articles_tags where article_id = 2
) and article_id != 2
order by common_tag_count desc;

MySQL के लिए सिंटैक्स में थोड़ा बदलाव करने की आवश्यकता हो सकती है।

या यह वास्तव में काम करता है:;-)

SELECT at1.article_id, Count(at1.tag_id) AS common_tag_count
FROM articles_tags AS at1 INNER JOIN articles_tags AS at2 ON at1.tag_id = at2.tag_id
WHERE at2.article_id = 2
GROUP BY at1.article_id
HAVING at1.article_id != 2
ORDER BY Count(at1.tag_id) DESC;


  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. एक MySQL डंप उत्पन्न करने के लिए एक .php फ़ाइल का उपयोग करना

  3. डेटाबेस में सरणी सम्मिलित करने में असमर्थ

  4. कैसे सुनिश्चित करें कि आपका MySQL डेटाबेस सुरक्षित है

  5. SCUMM डैशबोर्ड के साथ MySQL की प्रभावी निगरानी:भाग एक