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

Nội dung được viết bởi Kim Thu

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 Gitiho 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

Đây là những ví dụ về yêu cầu tính toán cơ bản nhất đối với hàm SUM. Để tìm hiểu thêm về các câu lệnh tính toán và truy vấn nâng cao trong SQL, mời bạn đọc tham khảo khóa học SQL nâng cao của Gitiho:

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!

Khóa học giúp bạn làm chủ ngôn ngữ truy vấn dữ liệu phổ biến SQL từ cơ bản đến nâng cao. Từ đó có thể tự tin xây dựng, truy vấn, và tối ưu hóa các cơ sở dữ liệu phức tạp, hỗ trợ phân tích, làm báo cáo và ra quyết định kinh doanh một cách hiệu quả.

Đăng ký học thử để trải nghiệm ngay hôm nay!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông