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

MySQL-এ সর্টেড লিস্টের মাঝপথ থেকে রেজাল্ট সিলেক্ট করা


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 সিনট্যাক্সও ব্যবহার করা যায়।

  1. MySQL-এ আজকের তারিখ থেকে নিকটতম ডেট নির্বাচন করা

  2. একক MySQL কোয়ারি: প্রথম টেবিল থেকে মান বেছে নিয়ে দ্বিতীয় টেবিলে ইনসার্ট করা

  3. MySQL কোয়েরি: 00:00 থেকে আজকের তারিখ পর্যন্ত ডেটা নির্বাচন করা

  4. MySQL-এ SELECT এবং SHOW কমান্ডের রেজাল্ট একসাথে কাম্বাইন করা