समस्या:
आप SQL क्वेरी के परिणाम को आरोही या अवरोही क्रम में क्रमबद्ध करना चाहेंगे।
उदाहरण:
हमारे डेटाबेस में salary_information
कॉलम में डेटा के साथ id
, first_name
, last_name
, और monthly_earnings
. हम कर्मचारियों को उनकी monthly_earnings
. के आधार पर क्रमबद्ध करना चाहते हैं अवरोही क्रम में।
आईडी | <थ>प्रथम_नामlast_name | मासिक_आय | |
---|---|---|---|
1 | केल्विन | रियोस | 3500 |
2 | एलन | पैटर्सन | 4000 |
3 | कर्ट | इवांस | 2300 |
4 | एलेक्स | वाटकिंस | 5500 |
समाधान:
हम एक ORDER BY
. का उपयोग करेंगे खंड। ये रही क्वेरी:
हम फ़ंक्शन का उपयोग करेंगे CURRENT_DATE
वर्तमान तिथि प्राप्त करने के लिए:
SELECT first_name, last_name, monthly_earnings FROM salary_information ORDER BY monthly_earnings DESC
यहाँ क्वेरी का परिणाम है:
last_name | मासिक_आय | |
---|---|---|
एलेक्स | वाटकिंस | 5500 |
एलन | पैटर्सन | 4000 |
केल्विन | रियोस | 3500 |
कर्ट | इवांस | 2300 |
अब, हम देख सकते हैं कि एलेक्स वाटकिंस सूची में पहले स्थान पर है, जिसका अर्थ है कि वह सबसे अधिक पैसा कमाता है।
चर्चा:
ORDER BY
. का प्रयोग करें खंड यदि आप डेटासेट को आरोही या अवरोही क्रम में क्रमबद्ध करना चाहते हैं। ORDER BY
. के लिए सिंटैक्स खंड इस प्रकार है:
SELECT col1, col2, … FROM table ORDER BY col1, col2, … ASC|DESC;चुनें
उपरोक्त में, ASC|DESC
इसका मतलब है कि आपको या तो कीवर्ड ASC
choose चुनना चाहिए (आरोही) या DESC
(अवरोही) डेटासेट को अपनी इच्छानुसार ऑर्डर करने के लिए।
संख्यात्मक स्तंभों के आधार पर छाँटने के अलावा, आप पाठ स्तंभों के आधार पर भी छाँट सकते हैं। एक ORDER BY
क्लॉज टेक्स्ट कॉलम को वर्णानुक्रम में क्रमबद्ध करेगा।
कॉलम नाम के बजाय, आप बाईं ओर से कॉलम की गिनती की स्थिति का भी उपयोग कर सकते हैं। तो, हमारे उदाहरण में, लिखने के बजाय:
ORDER BY monthly_earnings DESC
आप यह भी लिख सकते हैं:
ORDER BY 3 DESC
यदि आप उदाहरण से तालिका को first_name
. द्वारा क्रमबद्ध करना चाहते हैं वर्णानुक्रम (आरोही) क्रम में कॉलम, आप निम्न क्वेरी का उपयोग कर सकते हैं:
SELECT first_name, last_name, monthly_earnings FROM salary_information ORDER BY first_name ASC
यह भी ध्यान देने योग्य है कि आप कई स्तंभों के आधार पर छाँट सकते हैं। यह तब सहायक होता है जब किसी दिए गए कॉलम में कुछ मान दोहराए जाते हैं और आपको अतिरिक्त सॉर्टिंग की आवश्यकता होती है। इस मामले में, ORDER BY खंड में कॉलम नामों को अल्पविराम से अलग करें।
आप एक कॉलम द्वारा आरोही क्रम में और दूसरे द्वारा अवरोही क्रम में भी सॉर्ट कर सकते हैं। निम्नलिखित इस संयोजन के सिंटैक्स को दिखाता है:
ORDER BY Col1 ASC, Col2 DESC;
अगर आप ASC
. को छोड़ देते हैं या DESC
कीवर्ड, एक आरोही क्रम डिफ़ॉल्ट रूप से किया जाता है।