Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách lọc các bản ghi bằng hàm tổng hợp SUM

Vấn đề:

Bạn cần tìm các hàng trong đó các nhóm có tổng giá trị trong một cột nhỏ hơn một giá trị nhất định.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng tên là company với dữ liệu trong các cột sau:id , department , first_name , last_namesalary .

bộ phận
id first_name last_name lương
1 tiếp thị Lora Màu nâu 2300
2 tài chính John Jackson 3200
3 tiếp thị Michael Thomson 1270
4 sản xuất Tony Miller 6500
5 sản xuất Sally Màu xanh lá cây 2500
6 tài chính Olivier Đen 3450
7 sản xuất Jeniffer Michelin 2800
8 tiếp thị Jeremy Lorson 3600
9 tiếp thị Louis Smith 4200

Hãy tìm tên của các phòng ban có tổng tiền lương của nhân viên dưới 7000.

Giải pháp:

SELECT department, SUM(salary)
FROM company
GROUP BY department
HAVING SUM(salary)<7000;

Đây là kết quả:

bộ phận tổng
tài chính 6550

Thảo luận:

Để lọc các bản ghi bằng cách sử dụng hàm tổng hợp (hàm SUM trước đó), hãy sử dụng mệnh đề HAVING. Để tính tổng các giá trị cho mỗi nhóm hàng, hãy sử dụng hàm SUM tổng hợp. Trong truy vấn này, bộ phận cột được tính toán với tổng của tất cả tiền lương của các nhân viên của bộ phận đó dưới dạng một nhóm (tính toán nó bằng hàm SUM với mức lương cột làm đối số). Vì bạn tính toán giá trị cho mỗi nhóm hàng (chúng tôi nhóm các hàng theo tên của bộ phận), truy vấn có mệnh đề GROUP BY với tên của cột để nhóm các hàng (trong ví dụ của chúng tôi, GROUP BY department ). Bước cuối cùng là sử dụng hàm tổng hợp trong mệnh đề HAVING. Hãy nhớ rằng, HAVING nên được đặt sau mệnh đề GROUP BY. HAVING chứa điều kiện so sánh giá trị được trả về bởi hàm tổng hợp với một giá trị nhất định. Từ trên xuống, đó là tổng tiền lương có giá trị nhỏ hơn 7000 (SUM(salary)<7000 ). Tại đây, chúng tôi xác minh tổng tiền lương trong mỗi bộ phận thấp hơn 7000. Truy vấn chỉ hiển thị một bộ phận, tài chính, với mức lương là 6550.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định cấu hình quyền ScaleGrid trên AWS bằng Mẫu chính sách IAM

  2. Làm thế nào để phân tích cú pháp chuỗi giống như một chuyên gia bằng cách sử dụng hàm SUBSTRING () của SQL?

  3. Toán tử KHÔNG PHẢI của SQL

  4. Cách sửa các lỗi WordPress điển hình

  5. Lập mô hình cơ sở dữ liệu để ghi lại doanh số bán hàng. Phần 1