एक उपयोगकर्ता को MySQL में COUNT(*) फ़ंक्शन का उपयोग करके डेटा फ़िल्टर करने का प्रयास करते समय एक चुनौती का सामना करना पड़ा कहां कारण। उन्होंने नेस्टेड SELECT स्टेटमेंट का उपयोग किए बिना इस कार्य को पूरा करने के लिए एक कुशल विधि की तलाश की, क्योंकि यह महत्वपूर्ण संसाधनों का उपभोग कर सकता है।
उपयोगकर्ता ने अपने वांछित परिणाम को दर्शाने के लिए निम्नलिखित छद्म कोड प्रस्तुत किया:
SELECT DISTINCT gid FROM `gd` WHERE COUNT(*) > 10 ORDER BY lastupdated DESC
इस दृष्टिकोण के साथ समस्या यह है कि MySQL WHERE क्लॉज में COUNT(*) जैसे समग्र कार्यों का समर्थन नहीं करता है। इस सीमा को दरकिनार करने के लिए, उपयोगकर्ता ने प्रत्येक अद्वितीय जीआईडी के लिए पंक्तियों की संख्या की गणना करने और फिर तदनुसार परिणामों को फ़िल्टर करने के लिए नेस्टेड SELECT का उपयोग करने की संभावना का पता लगाया। हालाँकि, इस पद्धति को अप्रभावी और संसाधन-गहन माना गया था।
सौभाग्य से, MySQL GROUP BY और HAVING क्लॉज का उपयोग करके अधिक अनुकूलित समाधान प्रदान करता है:
SELECT gid FROM `gd` GROUP BY gid HAVING COUNT(*) > 10 ORDER BY lastupdated DESC
यह क्वेरी निम्नलिखित चरणों का पालन करती है:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3