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

MySQL क्वेरी उन ग्राहकों को खोजने के लिए जिन्होंने दो विशिष्ट उत्पादों का आदेश दिया है

मैं इस प्रकार की क्वेरी निम्न तरीके से करता हूं:

SELECT COUNT(DISTINCT t1.userid) AS user_count
  FROM TRANSACTIONS t1
  JOIN TRANSACTIONS t2 USING (userid)
 WHERE t1.product_id = 'prod1' 
   AND t2.product_id = 'prod2';

ग्रुप बाय समाधान दिखाया गया @najmeddine द्वारा आप जो उत्तर चाहते हैं वह भी उत्पन्न करता है, लेकिन यह MySQL पर भी अच्छा प्रदर्शन नहीं करता है। MySQL को GROUP BY को ऑप्टिमाइज़ करने में मुश्किल होती है प्रश्न।

आपको EXPLAIN<के साथ अनुकूलन का विश्लेषण करते हुए, दोनों प्रश्नों को आजमाना चाहिए। /कोड> , और आपके डेटाबेस में डेटा की मात्रा को देखते हुए कुछ परीक्षण और परिणाम भी चलाएँ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आरक्षण प्रणाली के लिए अगली उपलब्ध तिथि खोजने के लिए SQL क्वेरी में सहायता करें

  2. MySQLi - bind_param के बाद चर घोषित करना?

  3. MySQL में तालिका बनाएं जो किसी अन्य तालिका से मेल खाती हो?

  4. कैसे डोकर कंटेनर में php के mysql एक्सटेंशन सक्षम करने के लिए?

  5. XAMPP के साथ आसानी से वेब सर्वर सेट करें