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.