Hàm AVG, SUM trong SQL để tính trung bình và tổng số

Đăng lúc 19:21 30.08.2024

Tính toán cũng là một chức năng quan trọng của SQL khi phân tích dữ liệu. Một phép toán phổ biến không thể thiếu khi chúng ta thực hiện truy vấn trên SQL đó là tính tổng và trung bình cộng. Do đó, hôm nay cùng HocVienDaoTao.Com tìm hiểu hàm AVG và hàm SUM trong SQL để tính toán như thế nào nhé!

 

Cách dùng hàm SUM trong SQL để tính tổng

Hàm SUM được sử dụng trong SQL khi chúng ta muốn tính tổng giá trị của một trường trong bảng dữ liệu. Chẳng hạn, hàm SUM sẽ được dùng trong các câu truy vấn tính tổng số tiền, số lượng sản phẩm, hoặc bất kỳ giá trị nào khác.

Câu lệnh SUM trong SQL

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Trong đó:

  • SUM(column_name): Tính tổng các giá trị trong cột column_name.
  • FROM table_name: Chỉ định bảng từ đó bạn muốn lấy dữ liệu.
  • WHERE condition: (Tùy chọn) Lọc các hàng trước khi tính tổng, dựa trên một điều kiện cụ thể.

Ví dụ về cách dùng hàm SUM trong SQL

Yêu cầu 1: Tính tổng doanh bán hàng của tương ứng với số đơn hàng SalesOrderNumber là 5045331.

Để bắt đầu chúng ta viết ra câu lệnh SELECT… from từ bảng Sales để lấy thông tin, cụ thể:

select SUM(sales.sales) as SUM_sale
from Sales
where SalesOrderNumber='5045331'

Khi chạy công thức trên, chúng ta sẽ nhận được giá trị tổng doanh thu của các đơn hàng có SalesOrderNumber là 5045331.

Ví dụ về cách dùng hàm SUM trong SQL 1

Yêu cầu 2: Tính tổng doanh số bán hàng của khách hàng có ID=11951.

Trong ví dụ này, chúng ta tiếp tục sử dụng bảng Sales để tiến hàng truy vấn và hàm SUM được viết như sau:

select SUM(sales.sales) as SUM_customer
from Sales
where CustomerID=11951

Có thể thấy các dữ liệu được tính toán ra sẽ sử dụng cho việc phân tích, so sánh với đối tượng khác. Do đó, với bất kể phép tính nào thì chúng ta cũng nên đặt alias (tên tạm thời cho cột hoặc bảng trong truy vấn) để dễ nhận biết mục tiêu tính toán của mình là gì.

Ví dụ về cách dùng hàm SUM trong SQL 2

Yêu cầu 3: Tính tổng doanh số bán hàng và chi phí phát sinh trong tháng 6 trong bảng Sales.

select SUM(sales) as total_sales, SUM(Cost) as total_cost
from Sales
where Months=6

Chạy công thức, chúng ta có cột tổng doanh thu và chi phí trong tháng 6 như sau:

Ví dụ về cách dùng hàm SUM trong SQL 3

Yêu cầu 4: Tính tổng doanh thu, chi phí, lợi nhuận trong tháng 6 từ ngày 15 đến 25.

Với yêu cầu này, chúng ta cần tìm và tính toán các giá trị trong một khoảng thời gian cụ thể, nên chúng ta sẽ dùng thêm toán tử BETWEEN trong câu lệnh SQL.

select SUM(sales) as total_sales, SUM(Cost) as total_cost, (SUM(sales)-SUM(costs)) as total_profit
from Sales
where Month=6 AND ([Order Date] Between 15 and 25)

Khi bấm chạy công thức trên, chúng ta nhận về kết quả NULL. 

Ví dụ về cách dùng hàm SUM trong SQL 4

Trường hợp này có thể do điều kiện trên không có giá trị nào phù hợp để tính toán. Nhưng chúng ta cũng cần kiểm tra lại bảng dữ liệu xem lý do là không có dữ liệu hay do công thức đang bị sai. Cụ thể bạn nhập công thức sau:

select * from Sales
where Month=6 AND ([Order Date] Between 15 and 25)

Bấm chạy công thức thì chúng ta có thể thấy truy vấn không trả về kết quả nào phù hợp. Tức là không có giao dịch nào phát sinh từ ngày 15 đến 25 của tháng 6. Do đó, kết quả trả về NULL là chính xác.

Ví dụ về cách dùng hàm SUM trong SQL 5

Yêu cầu 5: Tính tổng số con của tất cả khách hàng có tên bắt đầu bằng “J”. Dữ liệu được lấy từ bảng Customer_Info.

Với yêu cầu này, điều kiện tính tổng là khách hàng có tên bắt đầu bằng “J”. Do đó, bạn sử dụng toán tử LIKE và các ký tự đại diện trong SQL để viết điều kiện cho công thức.

select SUM(Totalchildren)
from Customer_Info
where FirstName like 'J%'

Kết quả cho thấy, có tổng 572 con của các khách hàng có tên bắt đầu bằng J.

Ví dụ về cách dùng hàm SUM trong SQL 6

Hàm AVG để tính trung bình trong SQL

Hàm AVG được dùng trong SQL để tính giá trị trung bình của một cột số trong một bảng dữ liệu. Cụ thể, nó cộng tất cả các giá trị trong cột đó lại với nhau rồi chia cho số lượng các giá trị để tìm ra trung bình cộng.

Cú pháp 

SELECT AVG(column_name) AS alias_name
FROM table_name
WHERE condition;

Trong đó:

  • column_name: Tên cột mà bạn muốn tính giá trị trung bình.
  • alias_name: Đặt tên cho cột kết quả tính giá trị trung bình (tùy chọn).
  • table_name: Tên bảng dữ liệu truy vấn.
  • condition: Điều kiện lọc dữ liệu (tùy chọn).

Ví dụ

Yêu cầu 1: Tính trung bình doanh thu của các đơn hàng có SalesOrderNumber=5045334.

Chúng ta thay các giá trị vào cú pháp, bạn sẽ được công thức sau:

select AVG(sales.sales) as average_sales
from Sales
where SalesOrderNumber='5045334'

Chúng ta có kết quả trả về khi chạy công thức:

Hàm AVG để tính trung bình trong SQL 1

Yêu cầu 2: Tính trung bình doanh số bán hàng của khách hàng có Customer_ID là 11471 trong khoảng từ tháng 3 đến tháng 9. Dữ liệu được trích xuất từ bảng Sales.

Ta có công thức sau:

select AVG(sales.sales) as avg_customer
from Sales
where CustomerID=11471 AND (Month between 3 and 9)

Kết quả thu được khi nhấn chạy công thức như sau:

Hàm AVG để tính trung bình trong SQL 2

Yêu cầu 3: Tính tổng thu nhập trung bình hàng năm của tất cả các khách hàng có thu nhập hàng năm lớn hơn 100.000. Dữ liệu được truy vấn từ bảng Customer_Info.

Bạn viết công thức sau:

select AVG(YearlyIncome)
from Customer_Info
where YearlyIncome>100000

Nhấn chạy công thức, ta thu được kết quả:

Hàm AVG để tính trung bình trong SQL 3

Yêu cầu 4: Tính số ô tô trung bình mà mỗi khách hàng sinh năm 1972 sở hữu. (Gợi ý sử dụng hàm YEAR).

select AVG(NumberCarsOwned)
from Customer_Info
where YEAR(Birthdate)=1972
Hàm AVG để tính trung bình trong SQL 4

Kết quả trả về số ô tô trung bình mà mỗi khách hàng sinh năm 1972 sở hữu là 1.33333333.

Kết luận

Trên đây là hướng dẫn cách sử dụng hàm AVG, hàm SUM trong SQL với những ví dụ thực tế dễ hiểu. Hy vọng nó sẽ giúp ích cho bạn trong quá trình truy vấn và phân tích dữ liệu. Chúc bạn thành công!

 

 
==***==

Khoá học: Quản trị Chiến lược Dành cho các Lãnh đạo Doanh nghiệp
Nhấn vào đây để bắt đầu khóa học

Khóa học: Trở thành chuyên gia Bảo mật và tấn công ANM- Hacker mũ trắng
Nhấn vào đây để bắt đầu khóa học

Chuyên gia phân tích, tự động hóa Web iMacros
Nhấn vào đây để bắt đầu khóa học

Xây dựng ứng dụng tự động hóa AutoIT
Nhấn vào đây để bắt đầu khóa học

Khóa đào tạo Hacker và Marketing Facebook từ A - Z
Nhấn vào đây để bắt đầu khóa học

Khóa học: Phân tích và trực quan hóa dữ liệu với Power BI
Nhấn vào đây để bắt đầu khóa học

Khóa học đào tạo Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán
Nhấn vào đây để bắt đầu khóa học

Làm chủ xây dựng Game chuyên nghiệp
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Kỹ sảo Điện ảnh đỉnh cao với khóa học After Effect
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Vẽ Đẳng Cấp với khóa học AI
Nhấn vào đây để bắt đầu khóa học

Làm Chủ thiết kế ảnh với Photoshop CC
Nhấn vào đây để bắt đầu khóa học

Dựng Phim Siêu đẳng với Adobe Premiere
Nhấn vào đây để bắt đầu khóa học

Khóa dựng phần mềm quản lý dành cho nhà Quản lý và Kế toán bằng MS ACCESS
Nhấn vào đây để bắt đầu khóa học

Khóa học Machine Learning cơ bản-Khoa học dữ liệu - AI
Nhấn vào đây để bắt đầu khóa học

Khóa học Đào tạo sử dụng Excel Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học sử dụng PowerPoint Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học xây dựng và quản trị hệ thống đào tạo trực tuyến
Nhấn vào đây để bắt đầu khóa học

Đóng góp nội dung

Gửi ý kiến cho ban biên tập
Gửi thông tin

Thông tin

ĐĂNG KÝ/LIÊN HỆ: