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

MySQL का उपयोग करके अनुयायियों को चहचहाना प्राप्त करें

इसे यह करना चाहिए:

SELECT COUNT(me.A) FROM social AS me 
   INNER JOIN social AS you ON me.B = you.A 
WHERE me.A = you.B AND me.A = 1

COUNT निकालें यदि आप मित्रों की सूची चाहते हैं।

संपादित करें

अनुरोध के अनुसार, एक स्पष्टीकरण।

आप JOIN अपने आप में एक तालिका बनाना क्योंकि आप पंक्तियों के बीच संबंधों में रुचि रखते हैं।

मैंने टेबल को me . के रूप में उपनाम देने का फैसला किया और you रिश्ते को स्पष्ट करने के लिए। वह जो कह रहा है वह है वह कॉलम A मुझे अनुयायी . के रूप में संदर्भित कर सकते हैं या आप अनुयायी के रूप में। कॉलम B अनुयायी . को संदर्भित करता है

यदि आप कॉलम का नाम बदलते हैं, तो क्वेरी अधिक स्पष्ट रूप से पढ़ेगी

अगर A -> follower और B -> follower , हमारे पास होगा:

SELECT COUNT(me.follower) FROM social AS me 
   INNER JOIN social AS you ON me.followee = you.follower
WHERE me.follower = you.followee AND me.follower = 1

तो यह कह रहा है, इस टेबल की दो कॉपी लें और JOIN वे पंक्तियाँ जहाँ अनुसरणकर्ता me . में है you . में अनुयायी है . फिर, केवल उन पंक्तियों को फ़िल्टर करें और दिखाएं जहां अनुयायी me . में हैं you . में अनुसरणकर्ता है ... वहां (A == B) && (B == A) . रखने की आपकी इच्छा को कैप्चर करके

शायद टेबल उपनाम इतने अच्छे नहीं हैं, लेकिन मुझे आशा है कि यह थोड़ा स्पष्ट करेगा।

दूसरा संपादन नीचे दी गई टिप्पणियों के अनुसार, एक स्पष्ट रूप हो सकता है:

SELECT COUNT(me.A) FROM social AS me 
   INNER JOIN social AS you ON me.A = you.B AND me.B = you.A
WHERE me.A = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php . का उपयोग करके mysql डेटाबेस में छवियों को कैसे स्टोर करें

  2. MySQL में, क्या GROUP_CONCAT से 1024 से अधिक वर्ण वापस प्राप्त करना संभव है?

  3. MySQL कॉन्फ़िगरेशन फ़ाइल का स्थान (यानी:my.cnf) निर्दिष्ट नहीं है

  4. MySQL में कोलेशन कैसे खोजें

  5. मैं mysql में एकाधिक मान कैसे सम्मिलित करूं और डुप्लिकेट से कैसे बचूं?