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

MySQL-এ ORDER BY DESC LIMIT 3 দিয়ে প্রথম ৩ রেকর্ড দেখানো


DESC সাজানোর পর LIMIT দিয়ে টপ-এন রেকর্ড বের করা

MySQL-এ কলাম অনুযায়ী নিম্নমুখী (DESC) সাজানোর পর LIMIT ক্লজ দিয়ে নির্দিষ্ট সংখ্যক রেকর্ড বের করা যায়।

টেবিল ও ডেটা

mysql> CREATE TABLE DemoTable (UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName VARCHAR(100));
mysql> INSERT INTO DemoTable(UserName) VALUES('Chris'), ('Robert'), ('Bob'), ('David'), ('Mike');

সব রেকর্ড

+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | Chris    |
| 2      | Robert   |
| 3      | Bob      |
| 4      | David    |
| 5      | Mike     |
+--------+----------+

ORDER BY DESC LIMIT 3

mysql> SELECT * FROM DemoTable ORDER BY UserId DESC LIMIT 0, 3;
+--------+----------+
| UserId | UserName |
+--------+----------+
| 5      | Mike     |
| 4      | David    |
| 3      | Bob      |
+--------+----------+

ব্যাখ্যা

  • ORDER BY UserId DESC — UserId বড় থেকে ছোটে সাজায় (৫, ৪, ৩, ২, ১)।
  • LIMIT 0, 3 — অফসেট ০ থেকে ৩ টি রো নেয় (LIMIT 3 সমতুল্য)।
  • LIMIT offset, count — পেজিনেশনের জন্য ব্যবহার হয় (পেজ ১: LIMIT 0,10; পেজ ২: LIMIT 10,10)।

নোট

MySQL 8.0+ এ LIMIT 3 OFFSET 0 সিনট্যাক্সও সমর্থিত (আনসি এসকিউএল স্ট্যান্ডার্ড)।

  1. MySQL-এ একক ফিল্ড দ্বারা অর্ডার করে বাকি রেকর্ডগুলো একই ক্রমে দেখানো

  2. MySQL-এ রেকর্ড সাজিয়ে n সংখ্যক সারি মুছে ফেলা

  3. MySQL에서 날짜 레코드로부터 월의 첫날과 마지막 날 구하기

  4. MySQL-এ ORDER BY ASC করার সময় NULL মানগুলো শেষে রাখা (CASE WHEN)