কম্পিউটার টিউটোরিয়াল

MySQL-এ অটো-ইনক্রিমেন্ট কলাম অনুযায়ী সর্ট (ORDER BY Id DESC)

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 টাইমস্ট্যাম্প কলাম থাকে
  1. MySQL-এ নির্দিষ্ট সাবস্ট্রিং অনুযায়ী ORDER BY করা

  2. MySQL-এ একাধিক কলাম অনুযায়ী সার্ট করা

  3. MySQL-এ আইটেমের অর্ডার পরিবর্তন করা

  4. MySQL-এ গ্রুপ করা ফিল্ডের মাধ্যমে ORDER BY করার পদ্ধতি