मैं एक MySQL क्वेरी नोबी हूं इसलिए मुझे यकीन है कि यह एक स्पष्ट उत्तर के साथ एक प्रश्न है।MySQL समूह द्वारा और हैविंग
लेकिन, मैं इन दो प्रश्नों को देख रहा था। क्या वे अलग-अलग परिणाम सेट वापस कर देंगे? मैं समझता हूं कि सॉर्टिंग प्रक्रिया अलग-अलग शुरू होगी, लेकिन मेरा मानना है कि वे वही परिणाम पहले प्रश्न के साथ थोड़ा अधिक कुशल होने के साथ वापस कर देंगे?
क्वेरी 1: होने, तो और
SELECT user_id
FROM forum_posts
GROUP BY user_id
HAVING COUNT(id) >= 100
AND user_id NOT IN (SELECT user_id FROM banned_users)
क्वेरी 2: कहां, तो
SELECT user_id
FROM forum_posts
WHERE user_id NOT IN(SELECT user_id FROM banned_users)
GROUP BY user_id
HAVING COUNT(id) >= 100
महान, धन्यवाद! दिलचस्प है, मुझे कुछ परीक्षण चलाने होंगे। मैंने और अधिक कुशलता से सोचा क्योंकि पहले से समूहित होने के बाद banned_users भाग में नहीं तुलना करने के लिए कम रिकॉर्ड हैं? यदि इसका कोई औचित्य हो। – kimmothy
हां, उस स्थिति का परीक्षण केवल समूह द्वारा किए गए परिणामों के समूह के लिए किया जाएगा, बिलकुल नहीं। – aorcsik
@ किममोथी: 'IN IN 'में उपकुंजी को वास्तव में केवल एक बार निष्पादित करने की आवश्यकता है। – a1ex07