Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में पिछले 3 वर्णों के आधार पर ऑर्डर करें?

<घंटा/>

आप MySQL में अंतिम 3 वर्णों द्वारा ऑर्डर करने के लिए ORDER BY RIGHT() फ़ंक्शन का उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है -

चुनें *अपनेTableNameORDER से दायीं ओर(yourColumnName,3) yourSortingOrder;

आरोही या अवरोही क्रम सेट करने के लिए बस 'yourSortingOrder' को ASC या DESC से बदलें।

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> तालिका बनाएं OrderByLast3Chars -> (-> EmployeeId int NOT NULL AUTO_INCREMENT, -> EmployeeName varchar(20), -> EmployeeAge int, -> PRIMARY KEY(EmployeeId) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं ( 0.56 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('कैरोल_901', 24) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('बॉब_101', 21) में डालें;क्वेरी ओके, 1 पंक्ति प्रभावित (0.19 सेकंड)mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('Sam_107', 22) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) में डालें मान ('माइल_677', 26); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('जॉन_978', 27) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.75 सेकंड) mysql> OrderByLast3Chars(EmployeeName, EmployeeAge) मान ('David_876',29) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.28 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> OrderByLast3Chars से *चुनें;

निम्न आउटपुट है -

<पूर्व>+---------------+--------------+---------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी आयु |+---------------+--------------+---------------+| 1 | कैरल_901 | 24 || 2 | बॉब_101 | 21 || 3 | सैम_107 | 22 || 4 | माइल_677 | 26 || 5 | जॉन_978 | 27 || 6 | डेविड_876 | 29 |+---------------+--------------+---------------+6 पंक्तियाँ सेट में ( 0.00 सेकंड)

पिछले 3 वर्णों के आधार पर ऑर्डर करने के लिए क्वेरी यहां दी गई है।

केस 1 - परिणाम आरोही क्रम में प्राप्त करें।

क्वेरी इस प्रकार है -

mysql> OrderByLast3Chars से * चुनें -> राइट बाय ऑर्डर (कर्मचारी नाम, 3) asc;

निम्न आउटपुट है -

<पूर्व>+---------------+--------------+---------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी आयु |+---------------+--------------+---------------+| 1 | कैरल_901 | 24 || 2 | बॉब_101 | 21 || 3 | सैम_107 | 22 || 4 | माइल_677 | 26 || 5 | जॉन_978 | 27 || 6 | डेविड_876 | 29 |+---------------+--------------+---------------+6 पंक्तियाँ सेट में ( 0.00 सेकंड)

केस 2 - परिणाम अवरोही क्रम में प्राप्त करें। क्वेरी इस प्रकार है -

mysql> OrderByLast3Chars से * चुनें -> राइट बाय ऑर्डर (कर्मचारी नाम, 3) विवरण;

निम्न आउटपुट है -

<पूर्व>+---------------+--------------+---------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी आयु |+---------------+--------------+---------------+| 5 | जॉन_978 | 27 || 1 | कैरल_901 | 24 || 6 | डेविड_876 | 29 || 4 | माइल_677 | 26 || 3 | सैम_107 | 22 || 2 | बॉब_101 | 21 |+---------------+--------------+----------------+6 पंक्तियाँ सेट में ( 0.00 सेकंड)
  1. MySQL क्वेरी आईडी द्वारा अलग क्रम का चयन करने के लिए

    इसके लिए ORDER BY MAX() का प्रयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.81 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (30, डेविड); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्

  1. MySQL क्वेरी NULL मानों द्वारा ऑर्डर करने के लिए

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable707 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(100), StudentMarks int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.59 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable707(StudentFirstName,StudentMarks) म

  1. एकाधिक आईडी द्वारा MySQL क्वेरी ऑर्डर करें?

    इसके लिए ORDER BY FIELD() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(ClientId varchar(40), ClientName varchar(40));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.55 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (2000_बॉब, बॉब); क्वेरी ठीक है, 1