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

MySQL में संख्या के साथ मिश्रित स्ट्रिंग के लिए अल्फान्यूमेरिक ORDER BY

मान लें कि आपके पास एक VARCHAR कॉलम है जिसमें मान स्ट्रिंग हैं और संख्याएं दाईं ओर हैं। उदाहरण के लिए:

John1023 Carol9871 David9098

अब, मान लें कि आप पूरे कॉलम में इन दाईं ओर की संख्याओं के आधार पर क्रमबद्ध करना चाहते हैं। इसके लिए ORDER BY RIGHT का उपयोग करें।

पहले एक टेबल बनाते हैं:

mysql> create table DemoTable757 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientId varchar(100) ); Query OK, 0 rows affected (0.53 sec)

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

mysql> insert into DemoTable757(ClientId) values('John1023'); Query OK, 1 row affected (0.41 sec)
mysql> insert into DemoTable757(ClientId) values('Carol9871'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable757(ClientId) values('David9098'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable757(ClientId) values('Adam9989'); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable757(ClientId) values('Bob9789'); Query OK, 1 row affected (0.20 sec)

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

mysql> select *from DemoTable757;

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

+----+-----------+
| Id | ClientId  |
+----+-----------+
| 1  | John1023  |
| 2  | Carol9871 |
| 3  | David9098 |
| 4  | Adam9989  |
| 5  | Bob9789   |
+----+-----------+
5 rows in set (0.00 sec)

MySQL में अल्फान्यूमेरिक ORDER BY की क्वेरी:

mysql> select Id,ClientId from DemoTable757 order by right(ClientId,4);

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

+----+-----------+
| Id | ClientId  |
+----+-----------+
| 1  | John1023  |
| 3  | David9098 |
| 5  | Bob9789   |
| 2  | Carol9871 |
| 4  | Adam9989  |
+----+-----------+
5 rows in set (0.00 sec)
  1. - MySQL में संख्याओं के साथ मिश्रित वर्ण कॉलम से वर्ण मान सॉर्ट करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Code varchar(20) -> ); Query OK, 0 rows affected (0.70 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(J23); Query OK, 1 row affected (0.17 sec) mysql> insert into De

  1. - MySQL में SELECT और SHOW कमांड के परिणामों को कैसे संयोजित करें

    समाधान उपयोगकर्ता-परिभाषित वेरिएबल (@) या सिस्टम वेरिएबल (@@) का उपयोग करके एक ही SELECT में कई मान दिखाएं। उपयोगकर्ता वेरिएबल SELECT @first_name AS EmployeeFirstName, @last_name AS EmployeeLastName; +-------------------+------------------+ | EmployeeFirstName | EmployeeLastName | +---------------

  1. - MySQL REGEXP: केवल स्ट्रिंग या स्ट्रिंग+नंबर वाले रिकॉर्ड दिखाएँ, केवल नंबर वाले नहीं

    REGEXP पैटर्न कम से कम एक अक्षर (a-z या A-Z) वाले रिकॉर्ड के लिए: select yourColumnName from yourTableName where yourColumnName REGEXP [a-zA-Z]; उदाहरण insert into demo41 values(John Smith34), (John Smith), (9234John Smith), (john smith), (98775); क्वेरी और परिणाम select name from demo41 where