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

Lấy hàng dữ liệu có giá trị nhỏ nhất và lớn nhất trong một cột MySQL

Phương pháp

Sử dụng hàm tổng hợp MIN() và MAX() trong truy vấn con (subquery) để tìm giá trị cực trị, sau đó lọc hàng gốc.

1. Tạo bảng

mysql> create table DemoTable (
    CustomerName varchar(20),
    ProductAmount int
);
Query OK, 0 rows affected (1.03 sec)

2. Chèn dữ liệu

mysql> insert into DemoTable values('Chris',3599);
mysql> insert into DemoTable values('David',7843);
mysql> insert into DemoTable values('Mike',97474);
mysql> insert into DemoTable values('Bob',65884);

3. Xem dữ liệu

mysql> select * from DemoTable;
+--------------+---------------+
| CustomerName | ProductAmount |
+--------------+---------------+
| Chris        | 3599          |
| David        | 7843          |
| Mike         | 97474         |
| Bob          | 65884         |
+--------------+---------------+
4 rows in set (0.00 sec)

4. Truy vấn lấy hàng MIN và MAX

mysql> select * from DemoTable
    where ProductAmount = (select max(ProductAmount) from DemoTable)
       or ProductAmount = (select min(ProductAmount) from DemoTable);

Kết quả:

+--------------+---------------+
| CustomerName | ProductAmount |
+--------------+---------------+
| Chris        | 3599          |
| Mike         | 97474         |
+--------------+---------------+
2 rows in set (0.00 sec)

Mẹo: Có thể dùng ORDER BY ProductAmount LIMIT 1 cho MIN và ORDER BY ProductAmount DESC LIMIT 1 cho MAX nếu chỉ cần một hàng.