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

3 टेबल से MySQL डेटा निष्कर्षण - जुड़ता है और अधिकतम

आप ग्रुपवाइज़ मैक्सिमम चाहते हैं :

SELECT * FROM Video JOIN (

  SELECT   VideoTags.tag_id, MAX(points) points
  FROM     Video JOIN VideoTags ON Video.id = VideoTags.video_id
  GROUP BY VideoTags.tag_id

) t USING (points) JOIN Tags ON t.tag_id = Tags.id

इसे sqlfiddle पर देखें ।

ध्यान दें कि यह क्वेरी सभी लौटाती है प्रत्येक टैग के भीतर अधिकतम अंक वाले वीडियो, इसलिए बंधे हुए टैग के लिए एक से अधिक रिकॉर्ड लौटाए जाएंगे। यदि आप ऐसी स्थितियों में केवल एक रिकॉर्ड वापस करना चाहते हैं, तो कृपया निर्दिष्ट करें कि वीडियो को कैसे निर्धारित किया जाए जिसे वापस किया जाना चाहिए।



  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 मान असाइन करना

  3. इस त्रुटि को कैसे ठीक करें PHP घातक त्रुटि:केक सेंकना कंसोल में अपरिभाषित फ़ंक्शन mysql_query () पर कॉल करें

  4. गलत दिनांक समय मान '0000-00-00 00:00:00' - होने में Date_Sub ()

  5. SQL LIKE और IN का एक साथ उपयोग करना