Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chọn dòng đầu và dòng cuối bằng LIMIT trong MySQL

Dùng UNION kết hợp 2 truy vấn LIMIT 1 (dòng đầu) và LIMIT offset,1 (dòng cuối).

Tạo bảng:

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

Chèn 9 dòng dữ liệu:

+------------+--------------+-------------+
| 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          |
+------------+--------------+-------------+

Truy vấn lấy dòng 1 và dòng 9 (dòng cuối):

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

Kết quả:

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

Lưu ý: Offset của dòng cuối = tổng số dòng - 1. Có thể dùng subquery: LIMIT (SELECT COUNT(*)-1 FROM table), 1.