Hàm COUNT trong SQL Server

Hàm COUNT trong SQL Server

COUNT trong SQL được dùng như thế nào? Nếu chưa biết câu trả lời, mời bạn cùng Quantrimang.com tìm hiểu cách dùng hàm COUNT trong SQL dưới đâ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 với cú pháp và những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn.

Mô tả hàm COUNT SQL Server

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. Những giá trị NULL bỏ qua không tính.

Cú pháp hàm COUNT SQL Server

Để sử dụng hàm COUNT trong SQL Server, ta dùng cú pháp như sau:

SELECT COUNT(cot)
  FROM bang
  [WHERE dieukien];

Tham số:

  • cot: cột hoặc giá trị tính toán, biểu thức mà bạn muốn đếm
  • bang: 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.

Lưu ý:

  • Hàm COUNT có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ về hàm COUNT SQL Server

Hãy xem và khám phá một số ví dụ về hàm COUNT trong SQL Server.

Giả sử, ta có bảng dữ liệu như sau:

Bảng dữ liệu

Ví dụ 1: Đếm số chuyên mục trong bảng

SELECT COUNT(*)
  FROM Quantrimang
  WHERE Sobai > 100;

Kết quả trả về:

Result: 5

Ở ví dụ này ta đếm số lượng chuyên mục có trong bảng Quantrimang mà số bài lớn hơn 100.

Ví dụ 2: Sử dụng DISTINCT

Lệnh 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.

SELECT COUNT(DISTINCT Sobai)
 FROM Quantrimang
 WHERE Sobai > 100;

Kết quả trả về:

Result: 4

Ví dụ này dùng từ khóa DISTINCT nên những giá trị lặp lại chỉ được tính một lần. Trong bảng dữ liệu cho trước, giá trị “101” xuất hiện 2 lần, nhưng chỉ được tính một lần, cho nên tổng số dòng được tính sẽ là 4.

Ví dụ 3: Sử dụng GROUP BY

Ví dụ sau đếm tất cả bản ghi liên quan tới một chuyên mục lớn và bạn sẽ thực hiện như sau:

SELECT Chuyenmuclon, COUNT(Chuyenmuccon) AS "So luong"
  FROM Quantrimang
  GROUP BY Chuyenmuclon;

Kết quả trả về:</>

+----------------+----------+
| Chuyenmuclon   | So luong |
+----------------+----------+
|Laptrinh        |    3     |
|Mang xa hoi     |    2     |
|Trinh duyet web |    1     |
+----------------+----------+

Sự khác biệt giữa hàm COUNT() và COUNT_BIG()

Hàm COUNT và COUNT_BIG trong SQL Server về cơ bản có cùng chức năng, ví dụ: đếm số mục trong bảng. Thế nhưng, đôi khi, bạn cần phải đưa ra lựa chọn phù hợp cho ứng dụng đang phát triển. Trong trườn hợp đó, bạn nên đưa ra lựa chọn phù hợp nhất cho app dựa trên kiểu dữ liệu.

Hàm COUNT trả kết quả là một INT (số nguyên), còn hàm COUNT_BIG() trả kết quả là kiểu dữ liệu BIGINT. Vì thế, nếu có một bảng với hàng triệu bản ghi và cần số lượng bản ghi. Hàm COUNT() sẽ trả về lỗi, còn COUNT_BIG() sẽ hiện một kết quả như vậy.

Sự khác biệt chính khác giữa chúng là trong khi tạo một index, hàm COUNT() không cho phép tạo chỉ mục nhóm trên trình xem. Tuy nhiên, bạn có thể tạo index theo nhóm khi dùng hàm COUNT_BIG().

Tóm lại, dù không có nhiều sự khác biệt, COUNT() và COUNT_BIG() vẫn có những chức năng riêng trong một số trường hợp. Nắm được thông tin này, bạn sẽ biết cách dùng chúng chính xác.

Nguồn tin: Quantrimang.com