ORDER BY LENGTH() से स्ट्रिंग लंबाई सॉर्टिंग
MySQL में स्ट्रिंग कॉलम को कैरेक्टर लंबाई के अनुसार सॉर्ट करने के लिए ORDER BY LENGTH(column) का उपयोग करें।
उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE orderingAADemo (
-> Value VARCHAR(100)
-> );
विभिन्न लंबाई के स्ट्रिंग इन्सर्ट करें:
mysql> INSERT INTO orderingAADemo VALUES('A'), ('B'), ('AA'), ('C'), ('CCC');
मूल क्रम:
+-------+ | Value | +-------+ | A | | B | | AA | | C | | CCC | +-------+
लंबाई के अनुसार अवरोही क्रम में सॉर्ट
mysql> SELECT * FROM orderingAADemo
-> ORDER BY LENGTH(Value) DESC, Value;
परिणाम:
+-------+ | Value | +-------+ | CCC | | AA | | A | | B | | C | +-------+
व्याख्या:
LENGTH(Value)- प्रत्येक स्ट्रिंग की बाइट लंबाई देता हैDESC- सबसे लंबी स्ट्रिंग पहले, Value- समान लंबाई के लिए वर्णानुक्रम द्वितीयक सॉर्ट
आरोही क्रम (सबसे छोटी पहले)
mysql> SELECT * FROM orderingAADemo
-> ORDER BY LENGTH(Value) ASC, Value;
परिणाम: A, B, C, AA, CCC
मल्टीबाइट कैरेक्टर (UTF-8) के लिए
LENGTH() बाइट्स गिनता है। वास्तविक कैरेक्टर गिनने के लिए CHAR_LENGTH() या CHARACTER_LENGTH() उपयोग करें:
ORDER BY CHAR_LENGTH(Value) DESC
उपयोग केस: टेक्स्ट विश्लेषण, पासवर्ड स्ट्रेंथ चेक, डेटा गुणवत्ता जांच।