Hàm nhóm Các phép toán gom nhóm

4.2.9. Hàm nhóm và phép toán nhóm

Trong truy vấn dữ liệu có những vấn đề mà nếu chỉ dùng các phép toán đại số cơ bản đã trình bày thì không thể thực hiện được. Ví dụ như các yêu cầu tính tổng, tính trung bình, tìm giá trị lớn nhất, nhỏ nhất,..hoặc các bài toán đòi hỏi phải nhóm các bộ trong một quan hệ theo một thuộc tính nào đó rồi thực hiện tính toán.

Trở lại với bài toán quản lý nhân viên, yêu cầu đưa ra lương trung bình hoặc tổng lương của tất cả các nhân viên hoặc cho biết số nhân viên của từng đơn vị thì ta thấy rằng các phép toán đại số cơ bản không thể lấy được dữ liệu, khi đó người ta cần đến phép toán nhóm với các hàm nhóm toán học.

Hàm nhóm:

SUM(<tên cột>): Cho phép tính tổng theo cột.

AVG(<tên cột>): Trả về giá trị trung bình tính theo cột

MIN(<tên cột>), MAX(<tên cột>): Trả về giá trị nhỏ nhất, lớn nhất của cột

COUNT(*): Trả về số dòng của bảng

COUNT(<tên cột>): Trả về số dòng của bảng mà giá trị tại cột chỉ định khác rỗng.

Phép toán nhóm

< các thuộc tính nhóm> ℑ< danh sách các hàm>(R)

Trong đó:

  • Các thuộc tính nhóm: là danh sách các thuộc tính của quan hệ được chỉ ra trong R.
  • Danh sách hàm là danh sách các cặp (<hàm>(<thuộc tính>)). Trong đó <hàm> có thể là SUM, AVERAGE, MAX, MIN, COUNT, và <thuộc tính> là một thuộc tính của quan hệ được chỉ ra trong R.

Ví dụ 4.15: Cho biết số nhân viên của từng đơn vị

MãsốDVℑ  COUNT ( MãNV)( NHÂNVIÊN)

Cho biết lương trung bình của các nhân viên trong từng đơn vị

MãsốDVℑ AVG (Lương)( NHÂNVIÊN)

Kết quả của phép toán nhóm là một quan hệ và nếu không chỉ ra thuộc tính nhóm thì các hàm được áp dụng cho các giá trị thuộc tính của tất cả các bộ trong quan hệ, vì vậy quan hệ kết quả chỉ có một bộ.

Ví dụ 4.16: Cho biết lương trung bình của công ty

ℑ AVG (Lương)( NHÂNVIÊN)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *