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

MySQL-এ ORDER BY DESC LIMIT 30 ব্যবহার করে শেষ ৩০টি রো পান

MySQL-এ টেবিলের শেষ ৩০টি রো (সাম্প্রতিক ডেটা) পেতে ORDER BY column DESC LIMIT 30 ব্যবহার করা হয়। সাধারণত প্রাইমারি কী বা টাইমস্ট্যাম্প কলাম দিয়ে সর্ট করা হয়।

সিনট্যাক্স

SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 30;

উদাহরণ

১. অটোইনক্রিমেন্ট ID সহ টেবিল তৈরি করুন

mysql> CREATE TABLE DemoTable1567 (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    -> );

২. ৩৭টি রো ইনসার্ট করুন

mysql> INSERT INTO DemoTable1567 VALUES(),(),(),(),(),(),(),(),(),(),
    -> (),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),();

৩. সব রেকর্ড দেখুন (১ থেকে ৩৭)

mysql> SELECT * FROM DemoTable1567;

৪. শেষ ৩০টি রো পান (ID ৩৭ থেকে ৮)

mysql> SELECT * FROM DemoTable1567 ORDER BY Id DESC LIMIT 30;

৫. ফলাফল

+----+
| Id |
+----+
| 37 | 36 | 35 | ... | 10 | 9 | 8 |
+----+

বিকল্প পদ্ধতি (এসেন্ডিং অর্ডারে শেষ ৩০টি):

SELECT * FROM (
    SELECT * FROM DemoTable1567 ORDER BY Id DESC LIMIT 30
) AS t ORDER BY Id ASC;

এটি আউটপুট দেবে: 8, 9, 10, ..., 37 (ক্রোনোলজিক্যাল অর্ডার)। পেজিনেশন বা লগ অ্যানালিসিসে এই প্যাটার্ন খুব কাজে আসে।

  1. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  2. MySQL-এ নির্বাচিত রোয়ের সাইজ বের করা (CHAR_LENGTH)

  3. MySQL-এ ENUM ফিল্ড ব্যবহার করে রো সিলেক্ট করা

  4. MySQL-এ শেষ ৫০টি এন্ট্রি থেকে ৫টি র‍্যান্ডম সারি বের করা