Trong SQL, sẽ có những lúc chúng ta cần đếm tổng số bản ghi trong bảng hoặc kết quả truy vấn. Để làm được điều đó, bạn có thể sử dụng hàm COUNT trong SQL. Vậy cú pháp hàm này như nào, cách dùng nó để thống kê số lượng bản ghi ra sao? Cùng Gitiho tìm hiểu trong bài viết này nhé!
Hàm COUNT thường đi cùng câu lệnh SELECT trong SQL để đếm số lượng bản ghi trong một bảng dữ liệu hay một truy vấn cụ thể. Mặc định, hàm COUNT (column_name) này sẽ bỏ qua và không đếm các giá trị NULL trong cột column_name.
Cú pháp như sau:
SELECT COUNT(*)
FROM table_name
WHERE condition;
Trong đó:
Trong bài trước, Gitiho đã hướng dẫn bạn sử dụng hàm COUNT kết hợp với DISTINCT trong SQL để đếm các bản ghi không trùng lặp. Nếu bạn muốn biết cụ thể cách dùng COUNT distinct trong SQL như thế nào thì có thể xem lại bài cũ nha.
Hôm nay, chúng ta cùng xem cách dùng COUNT trong các câu lệnh tính toán với các ví dụ đơn giản sau:
Yêu cầu 1: Đếm số lượng bản ghi có trong cột CustomerID của bảng Customer_Info.
Bạn hãy viết câu lệnh sau:
select COUNT(CustomerID) from Customer_Info
Kết quả chúng ta sẽ thu được một giá trị duy nhất là 2000 tương ứng với 2000 bản ghi của cột CustomerID.
Lưu ý: Công thức trên đang đếm các giá trị của CustomerID không chứa giá trị NULL. Trong trường hợp cột CustomerID này có giá trị trống mà bạn muốn đếm cả chúng thì công thức này không còn chính xác nữa.
Nếu muốn đếm tất cả các giá trị NULL, bạn sẽ dùng công thức sau:
select COUNT(*) from Customer_Info
Kết quả trả về sẽ là chính xác số lượng bản ghi có trong bảng dữ liệu đó.
Yêu cầu 2: Đếm toàn bộ khách hàng có GeographyKey = 325.
Ta có công thức:
select count(CustomerID)
from Customer_Info
where GeographyKey=325
Chạy công thức, chúng ta sẽ thấy được có 26 khách hàng có trường GeographyKey là 325.
Yêu cầu 3: Đếm toàn bộ khách hàng có GeographyKey = 325 và sở hữu ít nhất 1 xe ô tô.
Tương tự với yêu cầu này, chúng ta cần thêm điều kiện là mỗi người sở hữu ít nhất 1 xe ô tô.
select count(CustomerID)
from Customer_Info
where GeographyKey=325 and NumberCarsOwned >=1
Chạy công thức thì kết quả trả về chỉ còn lại 22 người như sau:
Yêu cầu 4: Đếm các giá trị duy nhất của trường Cities nằm trong bang California của bảng Geographic.
select count(DISTINCT City) from Geographic
where StateProvinceName='California
Chạy công thức, chúng ta sẽ có kết quả 94 thành phố duy nhất năm trong bang California.
Về cơ bản thì COUNT trong mySQL sẽ được ứng dụng để đếm giá trị như trên. Nhưng trong thực tế, chúng ta thường phải đếm các giá trị chứa nhiều điều kiện phức tạp hơn bằng cách kết hợp với các mệnh đề Where, GROUP BY trong SQL,...
Để hiểu rõ hơn về cách dùng hàm COUNT và các câu lệnh khác trong truy vấn SQL, bạn có thể đăng ký học SQL cơ bản đến nâng cao với khóa sau tại Gitiho:
SQLG01 - Truy vấn dữ liệu với SQL
Nimbus Academy
Trên đây là hướng dẫn dùng COUNT trong SQL để đếm số lượng các bản ghi trong bảng hoặc truy vấn. Để tìm hiểu thêm về các câu lệnh tính toán dữ liệu khác trong SQL, mời bạn đọc tham khảo Blog Gitiho để cập nhật nhiều thông tin bổ ích. 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!