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

Lấy giá trị lớn thứ 4 trong MySQL với LIMIT OFFSET

Để lấy giá trị lớn thứ N (ví dụ thứ 4), bạn sắp xếp giảm dần (ORDER BY ... DESC) rồi dùng LIMIT 1 OFFSET N-1 (bỏ qua N-1 giá trị lớn hơn, lấy 1 giá trị tiếp theo).

Ví dụ minh họa

Tạo bảng:

mysql> create table DemoTable ( 
    Amount int 
);

Chèn dữ liệu:

mysql> insert into DemoTable values(980);
mysql> insert into DemoTable values(670);
mysql> insert into DemoTable values(890);
mysql> insert into DemoTable values(995);
mysql> insert into DemoTable values(198);

Hiển thị dữ liệu:

mysql> select * from DemoTable;

Kết quả:

+--------+
| Amount |
+--------+
| 980    |
| 670    |
| 890    |
| 995    |
| 198    |
+--------+

Truy vấn lấy giá trị lớn thứ 4

mysql> select * from DemoTable order by Amount desc limit 1 offset 3;

Kết quả:

+--------+
| Amount |
+--------+
| 670    |
+--------+

Giải thích:

  • ORDER BY Amount DESC: Sắp xếp: 995, 980, 890, 670, 198
  • OFFSET 3: Bỏ qua 3 giá trị đầu (995, 980, 890)
  • LIMIT 1: Lấy 1 giá trị tiếp theo → 670 (lớn thứ 4)
  • Tương đương: LIMIT 3, 1 (cú pháp cũ: offset, count)

Mở rộng: Lấy top N: LIMIT N. Lấy từ thứ M đến thứ N: LIMIT M-1, N-M+1 hoặc LIMIT N-M+1 OFFSET M-1.