MySQL-এ VARCHAR ফিল্ডকে সংখ্যাসহ সর্ট করতে LPAD(lower(column_name)) ব্যবহার করা হয়। উদাহরণ দেখি।
প্রথমে একটি টেবিল তৈরি করব। CREATE কমান্ড ব্যবহার করে টেবিল তৈরি করা হয়।
mysql> create table SortingvarcharDemo -> ( -> List varchar(10) -> ); Query OK, 0 rows affected (0.82 sec)
INSERT কমান্ড ব্যবহার করে রেকর্ড ইনসার্ট:
mysql> insert into SortingvarcharDemo values("99");
Query OK, 1 row affected (0.12 sec)
mysql> insert into SortingvarcharDemo values("9");
Query OK, 1 row affected (0.17 sec)
mysql> insert into SortingvarcharDemo values("199");
Query OK, 1 row affected (0.19 sec)
mysql> insert into SortingvarcharDemo values("1");
Query OK, 1 row affected (0.11 sec)
mysql> insert into SortingvarcharDemo values("999");
Query OK, 1 row affected (0.10 sec)
mysql> insert into SortingvarcharDemo values("78");
Query OK, 1 row affected (0.17 sec)
রেকর্ড দেখতে SELECT কমান্ড ব্যবহার করুন।
mysql> select *from SortingvarcharDemo;
আউটপুট:
+------+ | List | +------+ | 99 | | 9 | | 199 | | 1 | | 999 | | 78 | +------+ 6 rows in set (0.05 sec)
উপরের আউটপুটে লিস্ট অনমরায়ন - না সেবেল বর্ধমান ক्रमে না অবর্ধমান ক্রমে।
সংখ্যাসহ সর্ট করার সিনট্যাক্স (ASC)
SELECT * FROM yourTableName ORDER BY LPAD(lower(Column_name), value1, value2) asc;
কোয়েরি:
mysql> SELECT * FROM SortingvarcharDemo ORDER BY LPAD(lower(List), 6,0) asc;
আউটপুট:
+------+ | List | +------+ | 1 | | 9 | | 78 | | 99 | | 199 | | 999 | +------+ 6 rows in set (0.17 sec)
উপরে ফলাফলটি সেবেল বর্ধমান ক্রমে সর্ট করা হয়েছে। DESC ব্যবহার করে অবর্ধমান ক্রমে সর্ট করা যাবে।