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

MySQL में वर्णमाला को पहले और फिर नंबरों को ऑर्डर कैसे करें?

RLIKE और IF के साथ कस्टम सॉर्टिंग

अक्षर से शुरू होने वाले मानों को संख्या से शुरू होने वाले मानों से पहले सॉर्ट करने के लिए:

SELECT * FROM yourTableName 
ORDER BY IF(yourColumnName RLIKE '^[a-z]', 1, 2), yourColumnName;

RLIKE '^[a-z]' जांचता है कि मान छोटे अक्षर से शुरू होता है या नहीं। IF 1 (अक्षर पहले) या 2 (संख्या बाद में) निर्दिष्ट करता है।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE AlphabetFirstThenNumberDemo (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Name VARCHAR(20),
    -> PRIMARY KEY(Id)
    -> );
mysql> INSERT INTO AlphabetFirstThenNumberDemo(Name) 
    -> VALUES('John'),('Bob'),('1Sam'),('Carol'),('2Larry'),('David'),('3Mike'),('Robert');

कस्टम ऑर्डरिंग क्वेरी

mysql> SELECT * FROM AlphabetFirstThenNumberDemo 
    -> ORDER BY IF(Name RLIKE '^[a-z]', 1, 2), Name;

आउटपुट:

+----+--------+
| Id | Name   |
+----+--------+
|  2 | Bob    |
|  4 | Carol  |
|  6 | David  |
|  1 | John   |
|  8 | Robert |
|  3 | 1Sam   |
|  5 | 2Larry |
|  7 | 3Mike  |
+----+--------+

पहले अक्षर से शुरू (Bob, Carol, David, John, Robert), फिर संख्या से शुरू (1Sam, 2Larry, 3Mike)। प्रत्येक ग्रुप के भीतर वर्णमाला क्रम।

  1. - MySQL में SUBSTRING_INDEX और CAST के साथ संख्या सेट के पहले नंबर द्वारा क्रमबद्ध करना

    MySQL में SUBSTRING_INDEX() के साथ अल्पविराम से अलग संख्याओं के पहले नंबर द्वारा क्रमबद्ध करना जब कॉलम में 245,654,76,89,98 जैसे अल्पविराम से अलग संख्याएं हों, तो SUBSTRING_INDEX() से पहला नंबर निकालकर संख्यात्मक क्रमबद्ध किया जा सकता है। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable (

  1. - MySQL में ORDER BY FIELD() से एकाधिक ID के अनुसार क्रमबद्ध करें

    FIELD() फंक्शन के साथ कस्टम क्रम में सॉर्टिंग जब आपको किसी कॉलम के मानों को एक विशिष्ट, गैर-मानक क्रम में व्यवस्थित करना हो, तो ORDER BY FIELD(column, value1, value2, ...) का उपयोग करें। टेबल और डेटा CREATE TABLE DemoTable( ClientId VARCHAR(40), ClientName VARCHAR(40) ); Query OK, 0 rows a

  1. - MySQL में अंतिम 3 महीने पहले, फिर वर्णानुक्रम में ऑर्डर कैसे करें?

    सशर्त ऑर्डरिंग: हाल की तारीखें पहले, फिर वर्णानुक्रम आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable1526 ( CustomerName VARCHAR(20), PurchaseDate DATE ); Query OK, 0 rows affected (0.67 sec) रिकॉर्ड्स डालना (2019 की तारीखें) INSERT INTO DemoTable1526 VALUES(Bob, 2019-12-31); Query OK