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