MySQL-এ AUTO_INCREMENT প্রাইমারি কি কলাম (সাধারণত Id) দিয়ে সর্ট করলে ইনসার্ট أور্ডার অনুযায়ী রেকর্ড পাওয়া যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.70 sec)
mysql> INSERT INTO DemoTable (FirstName) VALUES
('Chris'), ('Robert'), ('David'), ('Mike'), ('Adam'), ('Carol');
Query OK, 6 rows affected
ডিফল্ট সর্ট (ইনসার্ট অর্ডার = Id ASC)
mysql> SELECT * FROM DemoTable;
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | | 3 | David | | 4 | Mike | | 5 | Adam | | 6 | Carol | +----+-----------+
ডিসেন্ডিং (সাম্প্রতিক ইনসার্ট প্রথম)
mysql> SELECT * FROM DemoTable ORDER BY Id DESC;
+----+-----------+ | Id | FirstName | +----+-----------+ | 6 | Carol | | 5 | Adam | | 4 | Mike | | 3 | David | | 2 | Robert | | 1 | Chris | +----+-----------+
মনে রাখবেন
AUTO_INCREMENTমান সবসময় বেড়ে (রোলব্যাক/ডিলিট হলে গ্যাপ হতে পারে)ORDER BY Id DESC→ লেটেস্ট ফার্স্ট (পেজিনেশন, লগ, অডিট ট্রেইল)ORDER BY Id ASC→ ওল্ডেস্ট ফার্স্ট (ডিফল্ট)- ইনডেক্সড প্রাইমারি কি → সর্ট খুব দ্রুত (নো ফাইলসর্ট)
বিকল্প: টাইমস্ট্যাম্প কলাম
ORDER BY CreatedAt DESC -- যদি.created_at টাইমস্ট্যাম্প কলাম থাকে