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

MySQL-এ MIN()/MAX() দিয়ে ফাস্ট ও লাস্ট ডেটা রো বের করা

MySQL-এ টেবিলের প্রথম এবং শেষ রো বের করতে MIN() এবং MAX() ফাংশন সহ সাবকোয়েরি ব্যবহার করুন।

সিনট্যাক্স

SELECT * FROM yourTable
WHERE idCol = (SELECT MIN(idCol) FROM yourTable)
UNION
SELECT * FROM yourTable
WHERE idCol = (SELECT MAX(idCol) FROM yourTable);

উদাহরণ

CREATE TABLE FirstAndLastDataDemo (
    EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeName VARCHAR(20),
    EmployeeAge INT
);

INSERT INTO FirstAndLastDataDemo (EmployeeName, EmployeeAge) VALUES
('John',23),('Bob',13),('Larry',24),('Sam',14),
('Mike',31),('James',18),('Maxwell',28),('David',27),('Chris',22);

কোয়েরি

SELECT * FROM FirstAndLastDataDemo
WHERE EmployeeId = (SELECT MIN(EmployeeId) FROM FirstAndLastDataDemo)
UNION
SELECT * FROM FirstAndLastDataDemo
WHERE EmployeeId = (SELECT MAX(EmployeeId) FROM FirstAndLastDataDemo);

ফলাফল

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| 1          | John         | 23          |
| 9          | Chris        | 22          |
+------------+--------------+-------------+

বিকল্প পদ্ধতি (MySQL 8.0+)

(SELECT * FROM FirstAndLastDataDemo ORDER BY EmployeeId LIMIT 1)
UNION ALL
(SELECT * FROM FirstAndLastDataDemo ORDER BY EmployeeId DESC LIMIT 1);

সুপারিশ: AUTO_INCREMENT PK থাকলে MIN/MAX সবচেয়ে দ্রুত। অর্ডারড কলাম নাইলে ORDER BY LIMIT ব্যবহার করুন।

  1. একাধিক টেবিল থেকে ডেটা ব্যবহার করে MySQL ভিউ কীভাবে তৈরি করবেন?

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

  3. MySQL-এ প্রথম এবং শেষ সারি বাদ দিয়ে বাকি সারি বের করা

  4. MySQL-এ LIMIT ব্যবহার করে পেজিনেশন (পরের সারি নির্বাচন)