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

MySQL में शर्त के अनुसार ऑर्डर देना?

<घंटा/>

इसके लिए ORDER BY CASE WHEN स्टेटमेंट का इस्तेमाल करें।

आइए एक टेबल बनाएं -

mysql> create table demo51
−> (
−> id int not null auto_increment primary key,
−> name varchar(20)
−> );
Query OK, 0 rows affected (1.08 sec)

इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें -

mysql> insert into demo51(name) values('John');
Query OK, 1 row affected (0.15 sec)

mysql> insert into demo51(name) values('Bob');
Query OK, 1 row affected (0.09 sec)

mysql> insert into demo51(name) values('David');
Query OK, 1 row affected (0.35 sec)

mysql> insert into demo51(name) values('Sam');
Query OK, 1 row affected (0.14 sec)

चयन कथन का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करें -

mysql> select *from demo51;

यह निम्नलिखित आउटपुट देगा -

+----+-------+
| id | name  |
+----+-------+
|  1 | John  |
|  2 | Bob   |
|  3 | David |
|  4 | Sam   |
+----+-------+
4 rows in set (0.00 sec)

शर्त के अनुसार ऑर्डर देने की क्वेरी निम्नलिखित है -

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

यह निम्नलिखित आउटपुट देगा -

+----+-------+
| id | name  |
+----+-------+
|  4 | Sam   |
|  3 | David |
|  2 | Bob   |
|  1 | John  |
+----+-------+
4 rows in set (0.00 sec)

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

    MySQL परोक्ष रूप से कॉलम को एक संख्या में बदल देगा। निम्नलिखित वाक्य रचना है - अपने TableName क्रम से अपने ColumnName*1 द्वारा *चुनें; आइए पहले एक − . बनाएं );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.53 सेकंड) इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1441 मान (38) में डालें );क्वेरी

  1. MySQL में पारित आईडी के कस्टम क्रम को बनाए रखें

    आईडी के कस्टम क्रम को बनाए रखने के लिए, ऑर्डर बाय केस स्टेटमेंट का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.61 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1550 मानों में डालें (109, माइक); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)

  1. एएससी द्वारा MySQL ऑर्डर और नीचे एनयूएलएल प्रदर्शित करें?

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