MySQL-এ ORDER BY ক্লজে একাধিক কলাম নির্দিষ্ট করে সর্ট করা যায়। প্রথম কলাম প্রাইমারি সর্ট কী, দ্বিতীয়টি সেকেন্ডারি সর্ট কী হিসেবে কাজ করে।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Id INT,
-> Value INT
-> );
Query OK, 0 rows affected (0.68 sec)
mysql> INSERT INTO DemoTable VALUES(100, 85885); mysql> INSERT INTO DemoTable VALUES(101, 885995474); mysql> INSERT INTO DemoTable VALUES(100, 895943);
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+------+-----------+ | Id | Value | +------+-----------+ | 100 | 85885 | | 101 | 885995474 | | 100 | 895943 | +------+-----------+ 3 rows in set (0.00 sec)
Value কলাম অনুযায়ী অবরোহী ক্রমে সর্ট
mysql> SELECT Id, Value FROM DemoTable ORDER BY Value DESC;
আউটপুট
+------+-----------+ | Id | Value | +------+-----------+ | 101 | 885995474 | | 100 | 895943 | | 100 | 85885 | +------+-----------+ 3 rows in set (0.00 sec)
ব্যাখ্যা: এখানে শুধু Value কলাম দিয়ে সর্ট করা হয়েছে। যদি একই Value থাকে, তবে Id দিয়ে সেকেন্ডারি সর্ট করতে ORDER BY Value DESC, Id ASC লিখতে হয়।
নোট: ORDER BY col1, col2 DESC মানে col1 ASC, col2 DESC। প্রতিটি কলামের জন্য আলাদা ASC/DESC লিখা ভালো প্র্যাকটিস।