TOP

SQL-पाठ 3. डेटा सॉर्ट करना (ORDER BY)

भविष्य में, हमें अपने चयन को - पाठ के लिए वर्णानुक्रम में या संख्यात्मक मानों के लिए आरोही/अवरोही क्रम में क्रमबद्ध करने की आवश्यकता हो सकती है। ऐसे उद्देश्यों के लिए, SQL के पास एक विशेष ऑपरेटर ORDER BY है।

SQL ऑपरेटर ORDER BY छोटे से बड़े, यानी आरोही क्रम में, और विपरीत क्रम में - बड़े से छोटे दोनों को सॉर्ट कर सकता है।


1. चयनित डेटा को क्रमबद्ध करना

आइए अपनी संपूर्ण तालिका को उत्पाद बिक्री की मात्रा, अर्थात् राशि कॉलम के आधार पर क्रमबद्ध करें।

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount

हम देखते हैं कि क्वेरी ने राशि फ़ील्ड में रिकॉर्ड को आरोही क्रम में क्रमबद्ध किया है। ऑपरेटरों की व्यवस्था के अनुक्रम का निरीक्षण करना आवश्यक है, अर्थात, ऑपरेटर ORDER BY को अनुरोध के बिल्कुल अंत में जाना होगा। अन्यथा, एक त्रुटि संदेश प्राप्त होगा.

साथ ही, ORDER BY ऑपरेटर की एक विशेषता यह है कि यह डेटा को उस फ़ील्ड के आधार पर सॉर्ट कर सकता है जिसे हमने क्वेरी में नहीं चुना है, यानी यह पर्याप्त है कि यह डेटाबेस में बिल्कुल भी हो।

2. कई क्षेत्रों के अनुसार क्रमबद्ध करना

आइए अब अपने उदाहरण को एक और फ़ील्ड के आधार पर क्रमबद्ध करें। इसे फ़ील्ड City होने दें, जो उत्पादों की बिक्री का स्थान प्रदर्शित करता है।

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount, City

सॉर्टिंग का क्रम अनुरोध में फ़ील्ड के क्रम पर निर्भर करेगा। यानी, हमारे मामले में, डेटा को पहले राशि कॉलम द्वारा और फिर City द्वारा क्रमबद्ध किया जाएगा।

3. छँटाई की दिशा

हालाँकि डिफ़ॉल्ट रूप से ORDER BY ऑपरेटर आरोही क्रम में सॉर्ट करता है, हम मानों को अवरोही क्रम में भी लिख सकते हैं। ऐसा करने के लिए, हम प्रत्येक फ़ील्ड के अंत में DESC ऑपरेटर (जो DESCENDING शब्द का संक्षिप्त रूप है) डालते हैं।

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount DESC, City

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