MySQL-এ ORDER BY দিয়ে একাধিক কলাম সোর্ট করা
একাধিক কলাম অনুযায়ী ডেটা সাজানোর জন্য ORDER BY ক্লজে কলামের নাম কমা দিয়ে পাতানো হয়। প্রথম কলামে সাজানোর পর, সমান মান হলে দ্বিতীয় কলামে সাজায়।
সিনট্যাক্স
SELECT col1, col2, col3 FROM yourTableName ORDER BY col2, col3;
উদাহরণ সহ ব্যাখ্যা
টেবিল তৈরি:
mysql> CREATE TABLE doubleSortDemo (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(100),
-> StudentCountryName VARCHAR(10)
-> );
ডেটা ইনসার্ট:
mysql> INSERT INTO doubleSortDemo(StudentName, StudentCountryName) VALUES('John', 'AUS');
mysql> INSERT INTO doubleSortDemo(StudentName, StudentCountryName) VALUES('Sam', 'UK');
mysql> INSERT INTO doubleSortDemo(StudentName, StudentCountryName) VALUES('Bob', 'US');
mysql> INSERT INTO doubleSortDemo(StudentName, StudentCountryName) VALUES('Carol', 'UK');
mysql> INSERT INTO doubleSortDemo(StudentName, StudentCountryName) VALUES('David', 'AUS');
mysql> INSERT INTO doubleSortDemo(StudentName, StudentCountryName) VALUES('Larry', 'UK');
বর্তমান ডেটা:
mysql> SELECT * FROM doubleSortDemo;
+-----------+-------------+--------------------+ | StudentId | StudentName | StudentCountryName | +-----------+-------------+--------------------+ | 1 | John | AUS | | 2 | Sam | UK | | 3 | Bob | US | | 4 | Carol | UK | | 5 | David | AUS | | 6 | Larry | UK | +-----------+-------------+--------------------+
দেশ তারপর নাম অনুযায়ী সাজানো:
mysql> SELECT StudentId, StudentName, StudentCountryName
-> FROM doubleSortDemo
-> ORDER BY StudentCountryName, StudentName;
ফলাফল:
+-----------+-------------+--------------------+ | StudentId | StudentName | StudentCountryName | +-----------+-------------+--------------------+ | 5 | David | AUS | | 1 | John | AUS | | 4 | Carol | UK | | 6 | Larry | UK | | 2 | Sam | UK | | 3 | Bob | US | +-----------+-------------+--------------------+
ব্যাখ্যা: প্রথমে CountryName (AUS, UK, US) অনুযায়ী সাজানো হয়েছে। AUS-এর মধ্যে David, John (আলফাবেটিক্যালি)। UK-এর মধ্যে Carol, Larry, Sam।