MySQL-এ LIMIT এবং UNION ব্যবহার করে টেবিলের প্রথম এবং শেষ রো একসাথে পাওয়া যায়।
উদাহরণ
টেবিল তৈরি:
mysql> CREATE TABLE FirstAndLastDataDemo (
-> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeName VARCHAR(20),
-> EmployeeAge INT
-> );
৯টি রেকর্ড ইনসার্ট:
mysql> INSERT INTO FirstAndLastDataDemo(EmployeeName, EmployeeAge) VALUES
-> ('John',23), ('Bob',13), ('Larry',24), ('Sam',14), ('Mike',31),
-> ('James',18), ('Maxwell',28), ('David',27), ('Chris',22);
সকল রেকর্ড:
mysql> SELECT * FROM FirstAndLastDataDemo;
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1 | John | 23 | | 2 | Bob | 13 | | 3 | Larry | 24 | | 4 | Sam | 14 | | 5 | Mike | 31 | | 6 | James | 18 | | 7 | Maxwell | 28 | | 8 | David | 27 | | 9 | Chris | 22 | +------------+--------------+-------------+
প্রথম ও শেষ রো (LIMIT + UNION):
mysql> (SELECT * FROM FirstAndLastDataDemo LIMIT 1)
-> UNION
-> (SELECT * FROM FirstAndLastDataDemo LIMIT 8, 1);
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1 | John | 23 | | 9 | Chris | 22 | +------------+--------------+-------------+
ব্যাখ্যা: প্রথম কোয়েরি LIMIT 1 দিয়ে প্রথম রো নেয়। দ্বিতীয় কোয়েরি LIMIT 8, 1 দিয়ে ৯ম রো (অফসেট ৮, লিমিট ১) নেয়। UNION ডুপ্লিকেট সরিয়ে একসাথে দেখায়। বিকল্প: (SELECT * FROM t ORDER BY id ASC LIMIT 1) UNION (SELECT * FROM t ORDER BY id DESC LIMIT 1) - এতে রো কাউন্ট জানতে হয় না।