Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

आप MySQL में चुनिंदा क्वेरी द्वारा प्राप्त परिणाम को कैसे ऑर्डर कर सकते हैं?

<घंटा/>

किसी तालिका से कुछ डेटा या पंक्तियों का चयन करना आम बात है। पंक्तियों को उसी क्रम में लौटाया जाता है जिसमें वे तालिका में दिखाई देते हैं। हमें कभी-कभी यह आवश्यकता हो सकती है कि तालिका से चुनी गई पंक्तियों को किसी स्तंभ के संबंध में आरोही या अवरोही क्रम में हमें वापस किया जाना चाहिए।

कुछ कॉलम के संबंध में परिणामों को ऑर्डर करने के लिए "ORDER BY" कथन का उपयोग किया जाता है। निम्नलिखित उदाहरण अधिक स्पष्टता प्रदान करेगा।

मान लीजिए, हमारे पास एक टेबल है जिसमें "नाम" फ़ील्ड सहित विभिन्न फ़ील्ड शामिल हैं। हम तालिका से सभी पंक्तियों का चयन करना चाहते हैं लेकिन हम चाहते हैं कि पंक्तियों को नामों के वर्णानुक्रम में क्रमबद्ध किया जाना चाहिए। यहाँ वह जगह है जहाँ "ORDER BY" कथन चलन में आता है। इस परिदृश्य के लिए हमें "नाम" फ़ील्ड के आरोही क्रम में परिणामों को क्रमित करने की आवश्यकता है।

"ऑर्डर बाय" स्टेटमेंट, डिफ़ॉल्ट रूप से, निर्दिष्ट कॉलम को आरोही क्रम में ऑर्डर करता है। यदि आप परिणाम को अवरोही क्रम में क्रमबद्ध करना चाहते हैं, तो आपको इसे निर्दिष्ट करने की आवश्यकता है। परिणाम को अवरोही क्रम में व्यवस्थित करने के लिए, कीवर्ड "DESC" निर्दिष्ट किया जाना है।

सिंटैक्स

आरोही क्रम

चुनें * टेबल_नाम से कॉलम_नाम द्वारा ऑर्डर करें

अवरोही क्रम

चुनें * टेबल_नाम से ऑर्डर करें कॉलम_नाम डीईएससी के अनुसार

पायथन में MySQL का उपयोग करके तालिका से डेटा पुनर्प्राप्त करने के क्रम में शामिल कदम

  • MySQL कनेक्टर आयात करें

  • कनेक्ट का उपयोग करके कनेक्टर के साथ कनेक्शन स्थापित करें ()

  • कर्सर () विधि का उपयोग करके कर्सर ऑब्जेक्ट बनाएं

  • उपयुक्त mysql कथनों का उपयोग करके एक क्वेरी बनाएँ

  • निष्पादित () विधि का उपयोग करके SQL क्वेरी निष्पादित करें

  • कनेक्शन बंद करें

मान लीजिए कि हमारे पास "छात्र" नाम की एक तालिका इस प्रकार है -

<पूर्व>+----------+-------------+----------+---------------+ | नाम | कक्षा | शहर | मार्क्स |+----------+---------+----------+---------------+| करण | 4 | अमृतसर | 95 || साहिल | 6 | अमृतसर | 93 || कृति | 3 | बटाला | 88 || खुशी | 9 | दिल्ली | 90 || किरात | 5 | दिल्ली | 85 |+----------+------------+----------+---------------+

उदाहरण

हम तालिका से सभी पंक्तियों का चयन करना चाहते हैं लेकिन उनके नामों के वर्णानुक्रम में। संक्षेप में, हम परिणाम को नामों के बढ़ते क्रम में क्रमित करना चाहते हैं।

आयात करें चयन करें * नाम से छात्रों के आदेश "कर्सर में पंक्ति के लिए कर्सर.एक्सक्यूट (क्वेरी):प्रिंट (पंक्ति)

उपरोक्त कोड सफलतापूर्वक निष्पादित होने पर छात्रों के नाम के आरोही या वर्णानुक्रम में पंक्तियों को वापस कर देता है।

आउटपुट

('अमित' , 9 , 'दिल्ली' , 90)('करण', 4 ,'अमृतसर' , 95)('कृति' , 3 , 'बटाला' ,88)('Priya' , 5 , ' दिल्ली' ,85)('साहिल' , 6 , 'अमृतसर' ,93)

प्रदर्शित सभी पंक्तियाँ नामों के वर्णानुक्रम में हैं। इसी तरह, पंक्तियों को समान सिंटैक्स के बाद अंकों के आरोही या अवरोही क्रम में व्यवस्थित किया जा सकता था।


  1. MySQL में इसे तेज़ बनाने के लिए मैं अपनी चुनिंदा क्वेरी को कैसे बढ़ा सकता हूं?

    त्वरित क्वेरी के लिए, MySQL IN() का उपयोग करें क्योंकि यह आंतरिक रूप से अनुक्रमण का उपयोग करता है। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.53 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: सम्मिलित करें DemoTable1618(ClientName,ClientEmailId) मानों में (ए

  1. किसी क्वेरी के परिणामों को यादृच्छिक रूप से कैसे ऑर्डर करें और MySQL में यादृच्छिक पंक्तियों का चयन करें?

    किसी क्वेरी के परिणामों को बेतरतीब ढंग से ऑर्डर करने के लिए, ORDER BY RAND() का उपयोग करें। वाक्य रचना इस प्रकार है - DemoTable1559 से * चुनें जहां आपका कॉलमनाम IN(yourValue1,yourValue2,....N) रैंड द्वारा ऑर्डर करें() आपके लिमिट वैल्यू को सीमित करें; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्ति

  1. एक MySQL क्वेरी के परिणाम को एक चर में कैसे असाइन करें?

    किसी क्वेरी के परिणाम को वैरिएबल में असाइन करने के लिए @anyVariableName का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1864 (Id int, FirstName varchar(20), LastName varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - Demo