MySQL-এ ORDER BY LIMIT দিয়ে পেজিনেশন/মাঝপথের ডেটা
সর্টেড ডেটার মাঝপথ থেকে নির্দিষ্ট সংখ্যক রো বের করতে ORDER BY সাথে LIMIT offset, count ব্যবহার করা হয়। এটি পেজিনেশনের ভিত্তি।
সিনট্যাক্স
SELECT * FROM yourTableName ORDER BY sortColumn LIMIT offset, row_count;
offset = কতগুলো রো বাদ দিবেন (০-ভিত্তিক)। row_count = কতগুলো রো নেবেন।
উদাহরণ সহ ব্যাখ্যা
টেবিল তৈরি ও ডেটা ইনসার্ট (১২টি নাম):
mysql> CREATE TABLE sortedListDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(100)
-> );
mysql> INSERT INTO sortedListDemo(StudentName) VALUES
-> ('John'),('Sam'),('Adam'),('James'),('Jace'),('Mike'),
-> ('Carol'),('Bob'),('Ramit'),('Chris'),('Robert'),('David');
নাম অনুযায়ী সর্টেড সব ডেটা:
mysql> SELECT * FROM sortedListDemo ORDER BY StudentName;
+----+-------------+ | Id | StudentName | +----+-------------+ | 3 | Adam | | 8 | Bob | | 7 | Carol | | 5 | Jace | | 4 | James | | 1 | John | | 6 | Mike | | 10 | Chris | | 9 | Ramit | | 2 | Sam | | 11 | Robert | | 12 | David | +----+-------------+
৪টি বাদ দিয়ে ৬টি নেওয়া (LIMIT 4, 6):
mysql> SELECT * FROM sortedListDemo
-> ORDER BY StudentName
-> LIMIT 4, 6;
ফলাফল (৫ম থেকে ১০ম রো):
+----+-------------+ | Id | StudentName | +----+-------------+ | 12 | David | | 5 | Jace | | 4 | James | | 1 | John | | 6 | Mike | | 9 | Ramit | +----+-------------+
দ্রষ্টব্য: MySQL 8.0+ এ LIMIT 6 OFFSET 4 সিনট্যাক্সও ব্যবহার করা যায়।