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

Lấy hàng có giá trị tối thiểu theo nhóm giá trị trùng cột MySQL

Sử dụng MIN(cot_so) kết hợp GROUP BY cot_nhom để tìm giá trị nhỏ nhất trong mỗi nhóm giá trị trùng lặp.

Ví dụ minh họa

Tạo bảng và chèn dữ liệu:

mysql> CREATE TABLE DemoTable1875 (Id INT AUTO_INCREMENT PRIMARY KEY, Class VARCHAR(20), Amount INT);
mysql> INSERT INTO DemoTable1875(Class,Amount) VALUES('X',750),('X',140),('X',450),('Y',6780),('Z',1350),('Z',2050);

Tìm Amount nhỏ nhất theo Class:

mysql> SELECT Class, MIN(Amount) FROM DemoTable1875 GROUP BY Class;

Kết quả:

+-------+-------------+
| Class | MIN(Amount) |
+-------+-------------+
| X     |         140 |
| Y     |        6780 |
| Z     |        1350 |
+-------+-------------+

Mở rộng: Để lấy toàn bộ hàng (kèm Id) có Amount nhỏ nhất mỗi nhóm, dùng window function ROW_NUMBER() OVER (PARTITION BY Class ORDER BY Amount) (MySQL 8+).