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

हम REGEXP करते समय ORDER BY CASE का उपयोग करके किसी क्वेरी को कैसे सॉर्ट कर सकते हैं?

<घंटा/>

CASE स्टेटमेंट के साथ रेगुलर एक्सप्रेशन का प्रयोग करें। आइए पहले एक टेबल बनाएं -

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Value varchar(20)
   );
Query OK, 0 rows affected (0.66 sec)

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

mysql> insert into DemoTable(Value) values('101');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable(Value) values('P');
Query OK, 1 row affected (0.19 sec)

mysql> insert into DemoTable(Value) values('A');
Query OK, 1 row affected (0.11 sec)

mysql> insert into DemoTable(Value) values('53');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable(Value) values('R');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable(Value) values('C');
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable(Value) values('190');
Query OK, 1 row affected (0.12 sec)

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

mysql> select *from DemoTable;

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

+----+-------+
| Id | Value |
+----+-------+
| 1  | 101   |
| 2  | P     |
| 3  | A     |
| 4  | 53    |
| 5  | R     |
| 6  | C     |
| 7  | 190   |
+----+-------+
7 rows in set (0.00 sec)

ORDER BY CASE के साथ क्वेरी को सॉर्ट करने के लिए क्वेरी निम्नलिखित है -

mysql> SELECT Id, Value FROM DemoTable ORDER BY CASE
   WHEN Value REGEXP '[a-zA-Z]' THEN 0 ELSE 0+Value END ASC, Value;

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

+----+-------+
| Id | Value |
+----+-------+
| 3  | A     |
| 6  | C     |
| 2  | P     |
| 5  | R     |
| 4  | 53    |
| 1  | 101   |
| 7  | 190   |
+----+-------+
7 rows in set (0.06 sec)

  1. MySQL क्वेरी का उपयोग करके चौथा उच्चतम मूल्य कैसे प्राप्त करें?

    चौथा उच्चतम मान प्राप्त करने के लिए, ORDER BY के साथ LIMIT OFFSET का उपयोग करें। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(राशि int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.88 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल वैल्यू में डालें(995) 0.10 सेकंड) चयन कथन क

  1. MySQL ऑर्डर द्वारा केस के साथ कब:

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

  1. आप MySQL में चुनिंदा क्वेरी द्वारा प्राप्त परिणाम को कैसे ऑर्डर कर सकते हैं?

    किसी तालिका से कुछ डेटा या पंक्तियों का चयन करना आम बात है। पंक्तियों को उसी क्रम में लौटाया जाता है जिसमें वे तालिका में दिखाई देते हैं। हमें कभी-कभी यह आवश्यकता हो सकती है कि तालिका से चुनी गई पंक्तियों को किसी स्तंभ के संबंध में आरोही या अवरोही क्रम में हमें वापस किया जाना चाहिए। कुछ कॉलम के संब