"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > नेस्टेड सेलेक्ट का उपयोग किए बिना MySQL में गणना के आधार पर डेटा को कैसे फ़िल्टर करें?

नेस्टेड सेलेक्ट का उपयोग किए बिना MySQL में गणना के आधार पर डेटा को कैसे फ़िल्टर करें?

2024-11-14 को प्रकाशित
ब्राउज़ करें:494

How to Filter Data Based on Count in MySQL Without Using Nested SELECT?

MySQL - WHERE क्लॉज में COUNT(*) का उपयोग करना

एक उपयोगकर्ता को 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

यह क्वेरी निम्नलिखित चरणों का पालन करती है:

  1. जीडी तालिका में पंक्तियों को जीआईडी ​​कॉलम द्वारा समूहित करती है।
  2. के लिए पंक्तियों की गिनती की गणना करती है प्रत्येक gid समूह COUNT(*) फ़ंक्शन का उपयोग कर रहा है। अंतिम अद्यतन कॉलम के आधार पर।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3