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

जटिल SQL क्वेरी, अनेक से अनेक

कुछ इस तरह।

Select people.id, people.name, count(interest.id)
from people
left join people_interests on people.id = people_interests.peopleid 
left join interests on people_interests.interestid = interests.interest.id
where interests.id in (select id from interests where interests.peopleid = @inputuserid)
group by people.id, people.name
order by count(interest.id)

अंग्रेजी में (जो इसे स्पष्ट कर भी सकता है और नहीं भी।)

  • व्यक्ति का नाम और उनके द्वारा साझा की जाने वाली रुचियों की संख्या चुनें
  • लोगों की तालिका से
  • रुचि तालिका में इस तरह शामिल हों कि वह तालिका
  • क्या केवल उस व्यक्ति के हित हैं जो हम मिलान करने का प्रयास कर रहे हैं।
  • (लोगों द्वारा समूह
  • और मेल खाने वाली रुचियों की संख्या के अनुसार क्रमित करें।)

उप क्वेरी के बिना अपडेट किया गया लेकिन कम स्पष्ट

Select people.id, people.name, count(interest.id)
from people
left join people_interests on people.id = people_interests.peopleid 
left join interests on people_interests.interestid = interests.interest.id
inner join interest i2 on (interests.id = i2.id and i2.people_id = @inputuserid)
group by people.id, people.name
order by count(interest.id)



  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. केकपीएचपी 2.3.1 अद्यतन सभी क्वेरी काम नहीं कर रही है

  3. दिनांक स्ट्रिंग को mysql डेटाटाइम फ़ील्ड में बदलें

  4. django में गतिशील डेटाबेस टेबल

  5. MySQL Group_Concat रिपीटिंग वैल्यूज