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

MySQL में ORDER BY CASE WHEN से कस्टम क्रम में पंक्तियाँ कैसे व्यवस्थित करें?


CASE WHEN सिंटैक्स

select * from yourTableName 
order by case 
    when name="John" then 110
    when name="Bob" then 105
    when name="David" then 104
    else 101
end;

उदाहरण

mysql> create table demo51 (id int not null auto_increment primary key, name varchar(20));
mysql> insert into demo51(name) values('John'), ('Bob'), ('David'), ('Sam');

परिणाम: कस्टम प्राथमिकता के अनुसार DESC क्रम

+----+-------+
| id | name  |
+----+-------+
| 4  | Sam   |  (else 101)
| 3  | David |  (104)
| 2  | Bob   |  (105)
| 1  | John  |  (110)
+----+-------+

उच्च संख्या = उच्च प्राथमिकता (पहले दिखेगी क्योंकि DESC डिफ़ॉल्ट है)।


  1. - MySQL में ORDER BY columnname*1 का उद्देश्य क्या है?

    MySQL में संख्यात्मक क्रमबद्धता के लिए अंतर्निहित प्रकार परिवर्तन जब संख्यात्मक डेटा VARCHAR/CHAR कॉलम में संग्रहीत होता है, तो ORDER BY column*1 से गुणा करने से MySQL को स्ट्रिंग को संख्या में अंतर्निहित रूप से परिवर्तित करने के लिए मजबूर किया जाता है, जिससे शब्दकोश क्रम के बजाय उचित संख्यात्मक क्र

  1. - MySQL में पारित IDs के कस्टम क्रम को बनाए रखना

    परिचय जब आपको विशिष्ट IDs के क्रम में रिकॉर्ड प्राप्त करने हों जो प्राकृतिक क्रम (ASC/DESC) से अलग हो, तो ORDER BY CASE स्टेटमेंट का उपयोग करके कस्टम क्रम परिभाषित किया जा सकता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.61 sec) INSERT INTO DemoTable1550 VALUES(109, Mike

  1. - MySQL में ORDER BY ASC के साथ NULL मानों को नीचे कैसे दिखाएं?

    MySQL में ORDER BY ASC डिफ़ॉल्ट रूप से NULL मानों को पहले रखता है। NULL मानों को अंत में (नीचे) रखते हुए आरोही क्रम बनाए रखने के लिए, CASE स्टेटमेंट या IS NULL चेक के साथ कस्टम सॉर्टिंग लागू करें। उदाहरण: NULL और खाली स्ट्रिंग को नीचे रखें डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1937 (Na