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

MySQL ORDER BY CASE के साथ

इसके लिए ORDER BY NULLIF() का उपयोग करें। पहले एक टेबल बनाते हैं:

mysql> create table DemoTable672( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), CustomerAmount int ); Query OK, 0 rows affected (0.81 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable672(CustomerName,CustomerAmount) values('Chris',560); Query OK, 1 row affected (0.51 sec)
mysql> insert into DemoTable672(CustomerName,CustomerAmount) values('Robert',null); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable672(CustomerName,CustomerAmount) values('',450); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable672(CustomerName,CustomerAmount) values('David',456); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable672(CustomerName,CustomerAmount) values('Carol',786); Query OK, 1 row affected (0.14 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select *from DemoTable672;

यह निम्न आउटपुट देगा:

+------------+--------------+----------------+
| CustomerId | CustomerName | CustomerAmount |
+------------+--------------+----------------+
| 1          | Chris        | 560            |
| 2          | Robert       | NULL           |
| 3          |              | 450            |
| 4          | David        | 456            |
| 5          | Carol        | 786            |
+------------+--------------+----------------+
5 rows in set (0.00 sec)

MySQL में CASE के साथ ORDER BY कैसे करें। यहां हमने केस-इनसेंसिटिव खोज के लिए FIELD() का भी उपयोग किया है:

mysql> select *from DemoTable672 ORDER BY NULLIF(CustomerName,'') IS NULL, FIELD(CustomerAmount,560,786,450,456);

यह निम्न आउटपुट देगा:

+------------+--------------+----------------+
| CustomerId | CustomerName | CustomerAmount |
+------------+--------------+----------------+
| 2          | Robert       | NULL           |
| 1          | Chris        | 560            |
| 5          | Carol        | 786            |
| 4          | David        | 456            |
| 3          |              | 450            |
+------------+--------------+----------------+
5 rows in set (0.04 sec)
  1. - MySQL में न्यूमेरिक यूज़र-डिफ़ाइंड वेरिएबल के साथ ORDER BY कैसे करें?

    MySQL में डायनामिक कॉलम नाम के साथ ORDER BY करने के लिए, यूज़र-डिफ़ाइंड वेरिएबल और PREPARED STATEMENT का उपयोग करें। यह तब उपयोगी होता है जब कॉलम का नाम रनटाइम पर तय होता है। उदाहरण: वेरिएबल के साथ डायनामिक ORDER BY डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1898 (Number INT); डेटा इन्सर्ट

  1. - MySQL में CASE WHEN के साथ काउंट कैसे करें?

    MySQL में शर्ती गिनती (कंडीशनल काउंट) करने के लिए SUM(CASE WHEN ... THEN 1 ELSE 0 END) पैटर्न का उपयोग करें। यह एक ही क्वेरी में एकाधिक शर्तों की गिनती करने का कुशल तरीका है। उदाहरण: विशिष्ट मार्क्स की गिनती प्रति छात्र डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1910 ( FirstName VARCHAR

  1. - MySQL में दशमलव बिंदु से दो स्थान पहले का अंक कैसे प्राप्त करें

    समाधान DIV ऑपरेटर का उपयोग करके पूर्णांक विभाजन करें। उदाहरण टेबल बनाएं: INSERT INTO demo1 VALUES (456.54), (50.64), (1000.78); क्वेरी SELECT value DIV 10 % 10 FROM demo1; परिणाम +-----------------+ | value DIV 10%10 | +-----------------+ | 5 | | 5 | | 0