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

MySQL के परिणामों को एक हैस-मैनी-थ्रू संबंध में कैसे गिनें

सिर्फ दो छात्रों के लिए . शायद सबसे सरल, सबसे साफ और तेज़ :

SELECT count(*) AS ct
FROM   student_club x
JOIN   student_club y USING (stud_id)
WHERE  x.club_id = 30
AND    y.club_id = 50;

आपको student . में शामिल होने की आवश्यकता नहीं है इसके लिए टेबल - जैसे ही आपको stud_id . की लिस्ट पता चले आप में रुचि रखते हैं।

छात्रों की संख्या . के लिए , मार्टिन की क्वेरी अधिक सुविधाजनक है। आप इसी तरह से सरल बना सकते हैं:

SELECT count(*) AS ct
FROM (
   SELECT stud_id
   FROM   student_club
   WHERE  club_id IN (30, 50)
   GROUP  BY 1
   HAVING count(*) = 2 -- adapt to number of items in list
   ) x;

यह आवश्यक है कि (stud_id, club_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. मैक ओएसएक्स 10.6 पर पायथन mysqldb काम नहीं कर रहा है

  2. एसक्यूएल:पंक्तियों को ढूंढें और मिलान करने वाले कॉलम की संख्या के अनुसार क्रमबद्ध करें?

  3. आईडी डीईएससी द्वारा आदेश

  4. Mysql अद्वितीय बाधा एक संयोजन के लिए एकल पंक्ति की अनुमति देता है

  5. पंक्तियों में विभाजित (विस्फोट) अल्पविराम सीमांकित स्तंभ मान