MySQL-এ ORDER BY LENGTH(কলাম_নাম) ব্যবহার করে স্ট্রিং কলামের দৈর্ঘ্য অনুযায়ী সর্ট করা যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable715 (UserMessage VARCHAR(100));
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable715 VALUES
('Aw'), ('Awe'), ('A'), ('Awes'), ('Awesom'), ('Awesome');
Query OK, 6 rows affected
সাধারণ সিলেক্ট
mysql> SELECT * FROM DemoTable715;
+-------------+ | UserMessage | +-------------+ | Aw | | Awe | | A | | Awes | | Awesom | | Awesome | +-------------+
দৈর্ঘ্য অনুযায়ী সর্ট (অসেন্ডিং)
mysql> SELECT * FROM DemoTable715 ORDER BY LENGTH(UserMessage);
+-------------+ | UserMessage | +-------------+ | A | | Aw | | Awe | | Awes | | Awesom | | Awesome | +-------------+
ডিসেন্ডিং সর্ট
mysql> SELECT * FROM DemoTable715 ORDER BY LENGTH(UserMessage) DESC;
টিপস
LENGTH()বাইট সংখ্যা রিটার্ন করে (মাল্টি-বাইট ক্যারেক্টারের জন্যCHAR_LENGTH()ব্যবহার করুন)- ইনডেক্স ব্যবহার করে না, ফুল টেবিল স্ক্যান হয়
- বড় টেবিলে পারফরম্যান্সের জন্য কম্পিউটেড কলাম বা ভার্চুয়াল কলামে দৈর্ঘ্য স্টোর করুন