MySQL में LENGTH() फ़ंक्शन और ORDER BY का उपयोग करके स्ट्रिंग कॉलम को वर्ण लंबाई के आधार पर क्रमबद्ध करें।
सिंटैक्स
SELECT * FROM yourTableName ORDER BY LENGTH(yourColumnName) DESC;
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> Name VARCHAR(100)
-> );
Query OK, 0 rows affected (0.50 sec)
mysql> INSERT INTO DemoTable VALUES('John'), ('Robert'), ('Bob'), ('David');
मौजूदा डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+--------+ | Name | +--------+ | John | | Robert | | Bob | | David | +--------+ 4 rows in set (0.00 sec)
वर्ण लंबाई के आधार पर अवरोही क्रम में क्रमबद्ध करना
mysql> SELECT * FROM DemoTable ORDER BY LENGTH(Name) DESC;
आउटपुट
+--------+ | Name | +--------+ | Robert | | David | | John | | Bob | +--------+ 4 rows in set (0.00 sec)
लंबाई विश्लेषण:
- Robert: 6 वर्ण
- David: 5 वर्ण
- John: 4 वर्ण
- Bob: 3 वर्ण
नोट:
LENGTH()बाइट्स में लंबाई लौटाता है (मल्टी-बाइट वर्णों के लिए वर्ण गणना नहीं)- वर्ण गणना के लिए
CHAR_LENGTH()याCHARACTER_LENGTH()का उपयोग करें - आरोही क्रम के लिए
ASC(डिफ़ॉल्ट) का उपयोग करें