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

Lấy số lượng kết quả cố định theo thứ tự giảm dần trong MySQL

Sử dụng DESC cho thứ tự giảm dần, LIMIT để giới hạn số lượng.

SELECT * FROM tenBang ORDER BY tenCot DESC LIMIT soLuong;

Tạo bảng demo

mysql> create table DemoTable (Id int, Name varchar(100));
Query OK, 0 rows affected (0.73 sec)

Chèn 6 bản ghi

mysql> insert into DemoTable values(100, 'John');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(101, 'Chris');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(102, 'Robert');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values(103, 'Bob');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(104, 'Adam');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(105, 'James');
Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả

mysql> select * from DemoTable;

Kết quả

+------+--------+
| Id   | Name   |
+------+--------+
| 100  | John   |
| 101  | Chris  |
| 102  | Robert |
| 103  | Bob    |
| 104  | Adam   |
| 105  | James  |
+------+--------+
6 rows in set (0.00 sec)

Lấy 3 bản ghi đầu tiên theo Name giảm dần (Z-A)

mysql> select * from DemoTable order by Name DESC LIMIT 3;

Kết quả - Robert, John, James (Z-A)

+------+--------+
| Id   | Name   |
+------+--------+
| 102  | Robert |
| 100  | John   |
| 105  | James  |
+------+--------+
3 rows in set (0.00 sec)

Tóm tắt:

  • ORDER BY cot DESC: Sắp xếp Z-9, Z-A (giảm dần).
  • ORDER BY cot ASC: Sắp xếp 0-9, A-Z (tăng dần, mặc định).
  • LIMIT n: Giới hạn n hàng đầu tiên sau khi sắp xếp.
  • LIMIT offset, n: Bỏ qua offset hàng, lấy n hàng tiếp theo (phân trang).

Hiệu năng: Tạo index trên cột ORDER BY để tránh filesort. INDEX(Name) hoặc INDEX(Name, Id).