खोज…


टिप्पणियों

ORDER BY क्लॉज का उद्देश्य एक क्वेरी द्वारा लौटाए गए डेटा को सॉर्ट करना है।

यह नोट करना महत्वपूर्ण है कि जब तक कोई ORDER BY खंड न हो तब तक क्वेरी द्वारा लौटाए गए पंक्तियों का क्रम अपरिभाषित होता है।

ORDER के पूर्ण विवरण के लिए MSDN दस्तावेज़ीकरण देखें खंड: https://msdn.microsoft.com/en-us/library/ms188385.aspx

साधारण आदेश द्वारा खंड

नीचे कर्मचारी तालिका का उपयोग करके, (आरोही) मानदंड में Id, FName और LName कॉलम वापस करने के लिए एक उदाहरण है:

SELECT Id, FName, LName FROM Employees
ORDER BY LName

यह दिखाता है:

ईद fName LName
2 जॉन जॉनसन
1 जेम्स लोहार
4 Johnathon लोहार
3 माइकल विलियम्स

अवरोही क्रम में सॉर्ट करने के लिए फ़ील्ड पैरामीटर के बाद DESC कीवर्ड जोड़ें, जैसे कि LName अवरोही क्रम में एक ही क्वेरी है:

SELECT Id, FName, LName FROM Employees
ORDER BY LName DESC

कई क्षेत्रों द्वारा आदेश

कई क्षेत्रों को ORDER BY या अवरोही क्रम में, ORDER BY खंड के लिए निर्दिष्ट किया जा सकता है।

उदाहरण के लिए, http://stackoverflow.com/documentation/sql/280/example-dat डेटाबेस/1207/item-sales-table#t=201607211314066434211 तालिका का उपयोग करके, हम उस क्वेरी को वापस कर सकते हैं, जिस पर आरोही क्रम में SaleDate द्वारा, और अवरोही क्रम में मात्रा।

SELECT ItemId, SaleDate, Quantity
FROM [Item Sales]
ORDER BY SaleDate ASC, Quantity DESC

ध्यान दें कि ASC कीवर्ड वैकल्पिक है, और परिणाम डिफ़ॉल्ट रूप से दिए गए फ़ील्ड के आरोही क्रम में क्रमबद्ध होते हैं।

जटिल तर्क के साथ आदेश द्वारा

यदि हम प्रति समूह के लिए अलग से डेटा ऑर्डर करना चाहते हैं, तो हम ORDER BY एक CASE सिंटैक्स जोड़ सकते हैं। इस उदाहरण में, हम विभाग 1 के कर्मचारियों को अंतिम नाम से और विभाग 2 के कर्मचारियों को वेतन से आदेश देना चाहते हैं।

ईद fName LName फ़ोन नंबर प्रबंधक- DepartmentId वेतन चुनने की तारीख
1 जेम्स लोहार 1 2 3 4 5 6 7 8 9 0 शून्य 1 1000 2002/01/01
2 जॉन जॉनसन 2468101214 1 1 400 23-03-2005
3 माइकल विलियम्स 1357911131 1 2 600 2009/12/05
4 Johnathon लोहार 1212121212 2 1 500 24-07-2016
5 सैम सैक्सन 1372141312 2 2 400 25-03-2015
The following query will provide the required results:
SELECT Id, FName, LName, Salary FROM Employees
ORDER BY Case When DepartmentId = 1 then LName else Salary end

कस्टम आदेश

यदि आप वर्णानुक्रम / संख्यात्मक आदेश के अलावा किसी अन्य चीज़ का उपयोग करके एक कॉलम द्वारा ऑर्डर करना चाहते हैं, तो आप इच्छित ऑर्डर को निर्दिष्ट करने के लिए case का उपयोग कर सकते हैं।

order by Group रिटर्न order by Group :

समूह गिनती
सेवानिवृत्त नहीं 6
अवकाश प्राप्त 4
कुल 10

order by case group when 'Total' then 1 when 'Retired' then 2 else 3 end रिटर्न:

समूह गिनती
कुल 10
अवकाश प्राप्त 4
सेवानिवृत्त नहीं 6


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow