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