Hàm so sánh count trong sql năm 2024

Lưu ý: Các ví dụ dưới đây chỉ hoạt động với CSDL Oracle và MS SQL Server, không hoạt động trên MS Access (chưa thử nhiệm với các hệ CSDL khác!)

Từ khoá DISTINCT và COUNT có thể được dùng chung với nhau để đếm số lượng các kết quả không trùng nhau.

Cú pháp như sau:

SELECT COUNT(DISTINCT column(s)) FROM table

Ví dụ ta có bảng Orders như sau:

Hàm so sánh count trong sql năm 2024

Câu lệnh SQL sau:

SELECT COUNT(DISTINCT Company) FROM Orders

sẽ trả về kết quả là: 3

SQL có sẵn khá nhiều hàm để thực hiện đếm và tính toán.

Cú pháp:

Cú pháp để gọi hàm trong câu lệnh SQL như sau:

SELECT function(tên_cột) FROM tên_bảng

Bảng dữ liệu chúng ta sẽ dùng trong các ví sụ tiếp theo:

Hàm so sánh count trong sql năm 2024

Hàm AVG (column)

Hàm AVG trả về giá trị trung bình tính theo cột được chỉ định của các dòng được chọn. Các giá trị NULL sẽ không được xét đến khi tính giá trị trung bình.

Ví dụ:

Câu lệnh sau sẽ tính số tuổi trung bình của những người có tuổi trên 20:

SELECT AVG(Age) FROM Persons WHERE Age > 20

kết quả trả về sẽ là: 39.5

Hàm MAX (column)

Hàm MAX trả về giá trị lớn nhất trong cột. Các giá trị NULL sẽ không được xét đến.

Ví dụ:

SELECT MAX(Age) FROM Persons

kết quả trả về: 45

Hàm MIN (column)

Hàm MAX trả về giá trị nhỏ nhất trong cột. Các giá trị NULL sẽ không được xét đến.

Ví dụ:

SELECT MIN(Age) FROM Persons

kết quả trả về: 19

Lưu ý: Hàm MIN và MAX cũng có thể áp dụng cho các cột có dữ liệu là chuỗi văn bản. Dữ liệu trong cột sẽ được so sánh theo thứ tự tăng dần của từ điển

Hàm SUM (column)

Hàm SUM trả về tổng giá trị của cột. Các giá trị NULL sẽ không được xét đến.

Ví dụ:

Tìm tổng số tuổi của tất cả những người có trong bảng:

SELECT SUM(Age) FROM Persons

kết quả trả về: 98

Ví dụ:

Tìm tổng số tuổi của tất cả những người có tuổi lớn hơn 20:

SELECT SUM(Age) FROM Persons WHERE Age > 20

kết quả trả về: 79

Gom nhóm

Cú pháp

Các hàm tập hợp (ví dụ như SUM) thông thường cần thêm chức năng của mệnh đề GROUP BY.

GROUP BY ...

Mệnh đề GROUP BY...được thêm vào SQL bởi vì các hàm tập hợp (như SUM) trả về một tập hợp của các giá trị trong cột mỗi khi chúng được gọi, và nếu không có GROUP BY ta không thể nào tính được tổng của các giá trị theo từng nhóm riêng lẻ trong cột.

Cú pháp của GROUP BY như sau:

SELECT tên_cột, SUM(tên_cột) FROM tên_bảng GROUP BY tên_cột

Ví dụ sử dụng GROUP BY :

Giả sử ta có bảng Sales như sau:

Hàm so sánh count trong sql năm 2024

Câu lệnh SQL sau:

SELECT Company, SUM(Amount) FROM Sales

sẽ trả về kết quả:

Hàm so sánh count trong sql năm 2024

Kết quả trả về ở trên đôi khi không phải là cái mà ta mong đợi. Ta thêm mệnh đề GROUP BY vào trong câu lệnh SQL:

SELECT Company, SUM(Amount) FROM SalesGROUP BY Company

và kết quả trả về lần này sẽ là:

Hàm so sánh count trong sql năm 2024

Kết quả này đúng là cái mà ta mong muốn.

Điều kiện trên nhóm

HAVING ...

Mệnh đề HAVING...được thêm vào SQL vì mệnh đề WHERE không áp dụng được đối với các hàm tập hợp (như SUM). Nếu không có HAVING, ta không thể nào kiểm tra được điều kiện với các hàm tập hợp.

Sẽ thực sự cần thiết nếu chúng ta quản lý một bảng dữ liệu lớn, và ngày nào cũng phát sinh dữ liệu mới. Và chúng ta cần phải kiểm soát lượng bản ghi mỗi ngày. Bài viết này sẽ hướng dẫn chi tiết cho bạn cách sử dụng hàm xử lý số COUNT() trong SQL Server để xử lý vấn đề trên

Mô tả

Hàm COUNT trong SQL Server dùng để đếm số lượng bản ghi (dữ liệu, hàng) có trong một bảng dữ liệu. Lưu ý, những giá trị NULL bỏ qua không tính.

Cú pháp mệnh đề COUNT() trong SQL Server

SELECT COUNT(Column) FROM table_name [WHERE dieukien];

Ý nghĩa của các biến

  • Column: cột hoặc giá trị tính toán, biểu thức mà bạn muốn đếm
  • table_name: bảng dùng để lấy bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.
  • dieukien: tùy chọn. Điều kiện mà bản ghi phải đáp ứng để được chọn.

Ví Dụ:

Ta phải quản lý Sao kê tài khoản tiết kiệm của một quỹ Tài chính. Do số lượng tài khoản tiết kiệm rất lớn lên đến hàng triệu tài khoản, và ngày nào chúng ta cũng phải quản lý danh sách này. Chúng ta không thể SELECT toàn bộ bảng dữ liệu và đợi SQL Server load hết dữ liệu và xem có bao nhiêu rows. Vậy nên, chúng ta có thể sử dụng hàm COUNT() để có thể đếm xem hàng ngày chúng ta nhận sao kê của bao nhiêu tài khoản như sau:

Hàm so sánh count trong sql năm 2024

Bài viết này là một phần trong Series “Học SQL miễn phí cùng chuyên gia”. Bạn hãy click vào link để xem toàn bộ Series bài viết, dễ dàng làm chủ SQL cùng chúng tôi nhé.

Chúng tôi cung cấp kiến thức học SQL miễn phí, nếu bạn muốn có được khóa học bài bản, hệ thống, được hỗ trợ trực tiếp từ chuyên gia của MasterMOS. Bạn có thể tham khảo và đăng ký khóa học SQL của chúng tôi với học phí ưu đãi chỉ từ 599k. Bạn tham khảo khóa học “Xử lý, phân tích dữ liệu, làm báo cáo tự động với SQL và Excel ở đây nhé 😊

Cảm ơn bạn đã đọc hết bài viết này. Đây là bài viết tâm huyết từ đội ngũ hoctinonline.edu.vn, nếu bạn cảm thấy hữu ích, hãy like và share bài viết này để đội ngũ hoctinonline.edu.vn có thêm động lực viết bài nhé 😊 Trân trọng cảm ơn bạn