PostgreSQL MIN and MAX

Giới thiệu về PostgreSQL MIN và MAX

PostgreSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở mạnh mẽ, được sử dụng rộng rãi để lưu trữ và quản lý dữ liệu. Trong PostgreSQL, hàm MIN và MAX là hai hàm rất hữu ích cho việc truy vấn dữ liệu, cho phép bạn tìm giá trị nhỏ nhất và lớn nhất trong một tập hợp các giá trị.

Định nghĩa

Hàm MIN được sử dụng để tìm giá trị nhỏ nhất trong một cột dữ liệu, trong khi hàm MAX được sử dụng để tìm giá trị lớn nhất. Cả hai hàm này thường được sử dụng trong các câu lệnh SELECT để phân tích dữ liệu và thực hiện các thống kê cơ bản.

Cú pháp

Cú pháp cơ bản của các hàm này như sau:

SELECT MIN(column_name) FROM table_name;
SELECT MAX(column_name) FROM table_name;

Bạn cũng có thể sử dụng các hàm này trong câu lệnh GROUP BY để tính toán giá trị nhỏ nhất và lớn nhất cho từng nhóm. Cú pháp sẽ là:

SELECT column_name, MIN(another_column) FROM table_name GROUP BY column_name;
SELECT column_name, MAX(another_column) FROM table_name GROUP BY column_name;

Ví dụ

1. Sử dụng hàm MIN để tìm giá trị nhỏ nhất

Giả sử bạn có một bảng tên là employees, chứa thông tin về lương của nhân viên:

| id | name    | salary |
|----|---------|--------|
| 1  | Alice   | 50000  |
| 2  | Bob     | 60000  |
| 3  | Charlie | 45000  |
| 4  | David   | 70000  |

Để tìm lương thấp nhất của nhân viên, bạn có thể sử dụng câu lệnh sau:

SELECT MIN(salary) AS lowest_salary FROM employees;

Kết quả trả về sẽ là:

| lowest_salary |
|---------------|
| 45000         |

2. Sử dụng hàm MAX để tìm giá trị lớn nhất

Tương tự, nếu bạn muốn tìm lương cao nhất của nhân viên, bạn có thể sử dụng câu lệnh sau:

SELECT MAX(salary) AS highest_salary FROM employees;

Kết quả trả về sẽ là:

| highest_salary |
|----------------|
| 70000          |

3. Sử dụng MIN và MAX với GROUP BY

Giả định rằng bảng employees có thêm một cột department để phân nhóm nhân viên theo phòng ban:

| id | name    | salary | department |
|----|---------|--------|------------|
| 1  | Alice   | 50000  | HR         |
| 2  | Bob     | 60000  | IT         |
| 3  | Charlie | 45000  | IT         |
| 4  | David   | 70000  | HR         |

Để tìm lương thấp nhất và cao nhất của từng phòng ban, bạn có thể sử dụng câu lệnh sau:

SELECT department, MIN(salary) AS lowest_salary, MAX(salary) AS highest_salary 
FROM employees 
GROUP BY department;

Kết quả trả về sẽ là:

| department | lowest_salary | highest_salary |
|------------|---------------|----------------|
| HR         | 50000         | 70000          |
| IT         | 45000         | 60000          |

Kết luận

Hàm MIN và MAX trong PostgreSQL rất hữu ích để tìm kiếm thông tin nhanh chóng trong các tập dữ liệu lớn. Chúng có thể được ứng dụng một cách linh hoạt trong các câu lệnh SQL cơ bản cũng như trong các tình huống phức tạp hơn với GROUP BY. Hy vọng bài viết này giúp bạn hiểu rõ hơn về cách sử dụng chúng trong PostgreSQL.