Vấn đề:
Bạn muốn tìm giá trị lớn nhất của một cột số.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng có tên product
với dữ liệu trong các cột sau:id
, name
, year
và items
.
id | tên | năm | mặt hàng |
---|---|---|---|
1 | bánh mì cuộn | 2018 | 345 |
2 | sô cô la | 2017 | 123 |
3 | bơ | 2019 | 34 |
4 | bánh mì cuộn | 2019 | 456 |
5 | bơ | 2018 | 56 |
6 | bơ | 2017 | 78 |
7 | sô cô la | 2019 | 87 |
8 | sô cô la | 2018 | 76 |
Hãy tìm số lượng mặt hàng đã bán tối đa trong tất cả các năm.
Giải pháp:
SELECT MAX(items) as max_items FROM product;
Đây là kết quả:
max_items |
---|
456 |
Thảo luận:
Để tìm giá trị tối đa của một cột, hãy sử dụng MAX()
chức năng tổng hợp; nó coi như đối số của nó là tên của cột mà bạn muốn tìm giá trị lớn nhất. Nếu bạn chưa chỉ định bất kỳ cột nào khác trong SELECT
, mức tối đa sẽ được tính cho tất cả các bản ghi trong bảng. Trong ví dụ của chúng tôi, truy vấn trả về số lượng tối đa trong số tất cả các mục.
Tất nhiên, vì nó là một hàm tổng hợp, MAX()
cũng có thể được sử dụng với các nhóm. Ví dụ:nếu chúng tôi muốn xem số lượng mặt hàng tối đa được bán trong mỗi năm, chúng tôi có thể viết truy vấn sau:
SELECT year, MAX(items) AS max_items FROM product GROUP BY year;
Mức tối đa được tính cho mỗi nhóm:
năm | max_items |
---|---|
2018 | 345 |
2017 | 123 |
2019 | 456 |