Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để chọn bản ghi hàng đầu tiên và cuối cùng bằng cách sử dụng LIMIT trong MySQL?

Đầu tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

mysql> create table FirstAndLastDataDemo
   -> (
   -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> EmployeeName varchar(20),
   -> EmployeeAge int
   -> );
Query OK, 0 rows affected (0.59 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau

mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('John',23);
Query OK, 1 row affected (0.15 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Bob',13);
Query OK, 1 row affected (0.11 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Larry',24);
Query OK, 1 row affected (0.14 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Sam',14);
Query OK, 1 row affected (0.18 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Mike',31);
Query OK, 1 row affected (0.10 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge)
values('James',18);
Query OK, 1 row affected (0.16 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge)
values('Maxwell',28);
Query OK, 1 row affected (0.17 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('David',27);
Query OK, 1 row affected (0.12 sec)
mysql> insert into FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Chris',22);
Query OK, 1 row affected (0.19 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select.

mysql> select *from FirstAndLastDataDemo;

Sau đây là kết quả

+------------+--------------+-------------+
| 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          |
+------------+--------------+-------------+
9 rows in set (0.00 sec)

Để nhận bản ghi hàng đầu tiên và hàng cuối cùng bằng cách sử dụng LIMIT, sau đây là truy vấn

mysql> (SELECT *from FirstAndLastDataDemo LIMIT 1)
   -> UNION
   -> (SELECT *from FirstAndLastDataDemo LIMIT 8,1);

Sau đây là đầu ra hiển thị bản ghi hàng đầu tiên và cuối cùng

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| 1          | John         | 23          |
| 9          | Chris        | 22          |
+------------+--------------+-------------+
2 rows in set (0.00 sec)