समस्या:
आप किसी तालिका से दिए गए कॉलम के अनुसार वर्णानुक्रम या विपरीत-वर्णमाला क्रम में रिकॉर्ड प्रदर्शित करना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में ग्राहक नाम की एक टेबल है। ग्राहक तालिका में आईडी, first_name, और last_name कॉलम में डेटा होता है।
आईडी | <थ>पहला_नामlast_name | |
---|---|---|
1 | सुसान | थॉमस |
2 | जॉन | माइकल |
3 | टॉम | मुलर |
आइए प्रत्येक ग्राहक की जानकारी प्रदर्शित करें, उनके अंतिम नाम से बढ़ते क्रम में क्रमबद्ध करें।
समाधान:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
यह क्वेरी वर्णानुक्रम में क्रमबद्ध रिकॉर्ड लौटाती है:
आईडी | <थ>पहला_नामlast_name | |
---|---|---|
2 | जॉन | माइकल |
3 | टॉम | मुलर |
1 | सुसान | थॉमस |
चर्चा:
यदि आप किसी तालिका से रिकॉर्ड का चयन करना चाहते हैं, लेकिन उन्हें दिए गए कॉलम के अनुसार क्रमबद्ध देखना चाहते हैं, तो आप बस ORDER BY
का उपयोग कर सकते हैं SELECT
. के अंत में क्लॉज बयान। इससे कोई फर्क नहीं पड़ता कि आपकी SQL क्वेरी कितनी जटिल या लंबी है—ORDER BY
हमेशा कमांड के अंत में होना चाहिए।
ORDER BY
कीवर्ड, आप उस कॉलम को नाम दें जिसके द्वारा रिकॉर्ड्स को सॉर्ट किया जाना चाहिए। हमारी क्वेरी में, हम ग्राहक के अंतिम नाम के आधार पर छाँटते हैं।
या
डिफ़ॉल्ट रूप से, ORDER BY
आरोही क्रम में बिना किसी अतिरिक्त विशिष्ट प्रकार के (ASC
. का उपयोग करने के बराबर) कीवर्ड स्पष्ट रूप से)। जैसा कि आप शायद अनुमान लगा सकते हैं, ASC
"आरोही" के लिए खड़ा है। यदि आप अवरोही क्रम में क्रमित करना चाहते हैं, तो DESC
निर्दिष्ट करें को सरल बनाएं कॉलम नाम के बाद कीवर्ड।
नीचे दी गई क्वेरी पिछले के समान है लेकिन ग्राहकों की एक सूची उनके अंतिम नाम से अवरोही क्रम में क्रमबद्ध करती है:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
आईडी | <थ>पहला_नामlast_name | |
---|---|---|
1 | सुसान | थॉमस |
3 | टॉम | मुलर |
2 | जॉन | माइकल |