द्वारा आदेश MySQL: उदाहरण के साथ DESC और ASC क्वेरी
परिणाम छांटना
SELECT कमांड का उपयोग करके, परिणाम उसी क्रम में लौटाए गए जिस क्रम में रिकॉर्ड डेटाबेस में जोड़े गए थे। यह डिफ़ॉल्ट सॉर्ट ऑर्डर है। इस अनुभाग में, हम देखेंगे कि हम अपने क्वेरी परिणामों को कैसे सॉर्ट कर सकते हैं। सॉर्टिंग बस हमारे क्वेरी परिणामों को एक निर्दिष्ट तरीके से फिर से व्यवस्थित करना है। सॉर्टिंग एक कॉलम या एक से अधिक कॉलम पर की जा सकती है। यह संख्या, स्ट्रिंग्स के साथ-साथ दिनांक डेटा प्रकारों पर भी किया जा सकता है।
ORDER BY क्या है? MySQL?
MySQL द्वारा आदेश डेटा को व्यवस्थित तरीके से सॉर्ट करने के लिए SELECT क्वेरी के साथ संयोजन में उपयोग किया जाता है। MySQL ORDER BY क्लॉज का उपयोग क्वेरी परिणाम सेट को आरोही या अवरोही क्रम में सॉर्ट करने के लिए किया जाता है।
SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];
यहाँ
- "चयन कथन... " नियमित चयन क्वेरी है
- ” | “ विकल्पों का प्रतिनिधित्व करता है
- “[WHERE condition | GROUP BY `field_name(s)` HAVING condition” क्वेरी परिणाम सेट को फ़िल्टर करने के लिए उपयोग की जाने वाली वैकल्पिक शर्त है।
- "द्वारा आदेश" क्वेरी परिणाम सेट सॉर्टिंग निष्पादित करता है
- “[आरोही | अवरोही]” परिणाम सेट को आरोही या अवरोही क्रम में सॉर्ट करने के लिए उपयोग किया जाने वाला कीवर्ड है। नोट ASC डिफ़ॉल्ट के रूप में उपयोग किया जाता है।
- तालिकानाम से {fieldName(s) | *} का चयन करें वह कथन है जिसमें फ़ील्ड और तालिका(एँ) शामिल हैं जिनसे परिणाम सेट प्राप्त किया जाना है।
- [जहां हालत] वैकल्पिक है लेकिन इसका उपयोग दी गई स्थिति के अनुसार डेटा को फ़िल्टर करने के लिए किया जा सकता है।
- द्वारा आदेश फ़ील्डनाम अनिवार्य है और यह वह फ़ील्ड है जिस पर सॉर्टिंग की जानी है। MySQL DESC कीवर्ड निर्दिष्ट करता है कि सॉर्टिंग अवरोही क्रम में होनी चाहिए।
- [सीमा] वैकल्पिक है लेकिन इसका उपयोग क्वेरी परिणाम सेट से लौटाए गए परिणामों की संख्या को सीमित करने के लिए किया जा सकता है।
DESC और ASC कीवर्ड क्या हैं?
ASC आरोही का संक्षिप्त रूप है |
MySQL DESC अवरोही का संक्षिप्त रूप है |
|---|---|
| इसका उपयोग क्वेरी परिणामों को ऊपर से नीचे की शैली में क्रमबद्ध करने के लिए किया जाता है। | इसका उपयोग क्वेरी परिणामों को नीचे से ऊपर की शैली में क्रमबद्ध करने के लिए किया जाता है |
| दिनांक डेटा प्रकारों पर काम करते समय, सबसे प्रारंभिक दिनांक सूची में सबसे ऊपर दिखाई जाती है। | दिनांक प्रकारों पर काम करते समय, नवीनतम दिनांक सूची के शीर्ष पर दिखाई जाती है। |
| संख्यात्मक डेटा प्रकारों के साथ काम करते समय, सबसे कम मान सूची के शीर्ष पर दिखाए जाते हैं। | संख्यात्मक डेटा प्रकारों के साथ काम करते समय, उच्चतम मान क्वेरी परिणाम सेट के शीर्ष पर दिखाए जाते हैं। |
| स्ट्रिंग डेटा प्रकारों के साथ काम करते समय, क्वेरी परिणाम सेट को अक्षर A से शुरू होकर अक्षर Z तक क्रमबद्ध किया जाता है। | स्ट्रिंग डेटा प्रकारों के साथ कार्य करते समय, क्वेरी परिणाम सेट को अक्षर Z से शुरू होकर अक्षर A तक क्रमबद्ध किया जाता है। |
SQL DESC और ASC दोनों कीवर्ड का उपयोग SELECT कथन के साथ संयोजन में किया जाता है और MySQL ORDER BY खंड.
DESC और ASC सिंटैक्स
SQL DESC sort कीवर्ड का मूल सिंटैक्स निम्नलिखित है।
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]
यहाँ
उदाहरण:
आइये अब एक व्यावहारिक उदाहरण देखें –
SELECT * FROM members;
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL myflixdb के विरुद्ध workbench का उपयोग करने से हमें नीचे दिखाए गए निम्नलिखित परिणाम प्राप्त होते हैं।
| membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
| 5 | Leonard Hofstadter | Male | NULL | Woodcrest | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Male | NULL | Woodcrest | NULL | 976736763 | NULL |
| 7 | Rajesh Koothrappali | Male | NULL | Woodcrest | NULL | 938867763 | NULL |
| 8 | Leslie Winkle | Male | 14-02-1984 | Woodcrest | NULL | 987636553 | NULL |
| 9 | Howard Wolowitz | Male | 24-08-1981 | SouthPark | P.O. Box 4563 | 987786553 |
मान लीजिए कि मार्केटिंग विभाग सदस्यों का विवरण जन्म तिथि के घटते क्रम में व्यवस्थित करना चाहता है। इससे उन्हें समय पर जन्मदिन की बधाई भेजने में मदद मिलेगी। हम नीचे दिए गए क्वेरी को निष्पादित करके उक्त सूची प्राप्त कर सकते हैं –
SELECT * FROM members ORDER BY date_of_birth DESC;
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL myflixdb के विरुद्ध workbench का उपयोग करने से हमें नीचे दिखाए गए निम्नलिखित परिणाम प्राप्त होते हैं।
वही प्रश्न बढ़ते क्रम में
सदस्यों से * का चयन करें जन्म तिथि ASC के अनुसार क्रमबद्ध करें
नोट: NULL मान का अर्थ है कोई मान नहीं (शून्य या खाली स्ट्रिंग नहीं)। ध्यान दें कि उन्हें किस तरह से क्रमबद्ध किया गया है।
और ज्यादा उदाहरण
आइए निम्नलिखित SQL सॉर्ट बाय स्क्रिप्ट पर विचार करें जो सभी सदस्य रिकॉर्डों को सूचीबद्ध करती है।
SELECT * FROM `members`;
उपरोक्त स्क्रिप्ट को निष्पादित करने से नीचे दिखाए गए निम्नलिखित परिणाम प्राप्त होते हैं।
| membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
| 5 | Leonard Hofstadter | Male | NULL | Woodcrest | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Male | NULL | Woodcrest | NULL | 976736763 | NULL |
| 7 | Rajesh Koothrappali | Male | NULL | Woodcrest | NULL | 938867763 | NULL |
| 8 | Leslie Winkle | Male | 14-02-1984 | Woodcrest | NULL | 987636553 | NULL |
| 9 | Howard Wolowitz | Male | 24-08-1981 | SouthPark | P.O. Box 4563 | 987786553 | NULL |
मान लीजिए कि हम एक सूची प्राप्त करना चाहते हैं जो लिंग फ़ील्ड का उपयोग करके क्वेरी परिणाम सेट को सॉर्ट करती है, तो हम नीचे दिखाए गए स्क्रिप्ट का उपयोग करेंगे।
SELECT * FROM `members` ORDER BY `gender`;
| membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
| 3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
| 5 | Leonard Hofstadter | Male | NULL | Woodcrest | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Male | NULL | Woodcrest | NULL | 976736763 | NULL |
| 7 | Rajesh Koothrappali | Male | NULL | Woodcrest | NULL | 938867763 | NULL |
| 8 | Leslie Winkle | Male | 14-02-1984 | Woodcrest | NULL | 987636553 | NULL |
| 9 | Howard Wolowitz | Male | 24-08-1981 | SouthPark | P.O. Box 4563 | 987786553 | NULL |
"महिला" सदस्यों को पहले प्रदर्शित किया गया है उसके बाद "पुरुष" सदस्यों को, ऐसा इसलिए है क्योंकि जब ASC या निर्दिष्ट किए बिना ORDER BY DESC क्लॉज का उपयोग किया जाता है MySQL DESC कीवर्ड, डिफ़ॉल्ट रूप से, MySQL क्वेरी परिणाम सेट को आरोही क्रम में सॉर्ट किया गया है।
आइये अब एक उदाहरण देखें जो यह करता है दो कॉलम का उपयोग करके छंटाई; पहला है छाँटे गए in आरोही क्रम डिफ़ॉल्ट रूप से जबकि दूसरा कॉलम छाँटे गए in अवरोही क्रम।
SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL myflixdb के विरुद्ध वर्कबेंच का उपयोग करने से निम्नलिखित परिणाम प्राप्त होते हैं।
लिंग कॉलम डिफ़ॉल्ट रूप से आरोही क्रम में क्रमबद्ध किया गया था जबकि जन्म तिथि कॉलम स्पष्ट रूप से अवरोही क्रम में क्रमबद्ध किया गया था
हम DESC और ASC का उपयोग क्यों कर सकते हैं?
मान लीजिए कि हम फ्रंट डेस्क से प्रश्नों के उत्तर देने में सहायता के लिए वीडियो लाइब्रेरी के सदस्य के भुगतान इतिहास को प्रिंट करना चाहते हैं, तो क्या यह अधिक तर्कसंगत नहीं होगा कि भुगतानों को हाल के भुगतान से लेकर पहले के भुगतान तक अवरोही कालानुक्रमिक क्रम में प्रिंट किया जाए?
SQL में DESC एक ऐसा कीवर्ड है जो ऐसी स्थितियों में काम आता है। हम एक क्वेरी लिख सकते हैं जो भुगतान तिथि का उपयोग करके सूची को अवरोही क्रम में सॉर्ट करती है।
मान लीजिए कि विपणन विभाग श्रेणी के अनुसार फिल्मों की एक सूची प्राप्त करना चाहता है, जिसका उपयोग सदस्य यह निर्णय लेने के लिए कर सकते हैं कि फिल्में किराये पर लेते समय लाइब्रेरी में कौन सी फिल्में उपलब्ध हैं, तो क्या यह अधिक तर्कसंगत नहीं होगा कि फिल्म श्रेणी के नाम और शीर्षक को आरोही क्रम में व्यवस्थित किया जाए, ताकि सदस्य सूची से जानकारी को शीघ्रता से देख सकें?
ऐसी स्थितियों में ASC कीवर्ड उपयोगी होता है; हम श्रेणी नाम और मूवी शीर्षक के आधार पर मूवी सूची को आरोही क्रम में व्यवस्थित कर सकते हैं।
सारांश
- क्वेरी परिणामों को क्रमबद्ध करना, क्वेरी परिणाम सेट से लौटाई गई पंक्तियों को आरोही या अवरोही क्रम में पुनः व्यवस्थित करना है।
- SQL में DESC कीवर्ड का उपयोग क्वेरी परिणाम सेट को अवरोही क्रम में सॉर्ट करने के लिए किया जाता है।
- ASC कीवर्ड का उपयोग क्वेरी परिणाम सेट को आरोही क्रम में सॉर्ट करने के लिए किया जाता है।
- DESC और ASC दोनों ORDER BY कीवर्ड के साथ मिलकर काम करते हैं। इन्हें अन्य कीवर्ड के साथ भी इस्तेमाल किया जा सकता है जैसे कहां कारण और सीमा
- जब कुछ भी स्पष्ट रूप से निर्दिष्ट नहीं किया गया हो तो ORDER BY के लिए डिफ़ॉल्ट ASC है।

ASC आरोही का संक्षिप्त रूप है
MySQL DESC अवरोही का संक्षिप्त रूप है

