Hàm Count trong Sql dùng để đưa ra tổng số lượng các bạn ghi thỏa mãn điều kiện tìm kiếm. Đây là một trong các hàm căn bản của SQL, bài viết này SmartData sẽ hướng dẫn các bạn cách cú pháp và một số ví dụ thực tế với hàm này nhé.
Hàm Count trong sql có cú pháp khá tương đồng trong các hệ quản trị cơ sở dữ liệu nổi tiếng hiện nay như: Mysql, Oracle, SQL Server.
Cú pháp
SELECT COUNT(Biểu_thức) FROM Tên_bảng
Tham số truyền vào gồm 2 thông tin
- Biểu thức trong hàm count: Thông thường sẽ là tên cột hoặc giá trị *
- Tên_bảng: Tên bảng mà bạn đang muốn thực hiện truy vấn
Hãy cùng xem xét các ví dụ dưới đây để hiểu hơn về hàm Count. Ta sẽ sử dụng bảng USERS dưới đây làm bảng dữ liệu xuyến suốt các ví dụ
+----+----------+-----------+-----------+ | ID | NAME | SALARY | MONTH | +----+----------+-----------+-----------+ | 1 | kien | 1000 | 1 | | 2 | ngoc | 2000 | 1 | | 3 | nghia | 3000 | 1 | | 4 | trang | 1000 | 2 | | 5 | ngoc | 1000 | 2 | +----+----------+-----------+-----------+
Ví dụ 1: Sử dụng hàm COUNT trong SQL với 1 cột
Các hàm tổng hợp như Count() có thể được sử dụng như một cột duy nhất trong truy vấn SELECT. Ví dụ:
SELECT COUNT(SALARY) as total FROM USERS;
Đây là kết quả:
+--------+ | TOTAL | +--------+ | 5 | +--------+
Ở đây chúng ta sử dụng điều kiện tìm kiếm tức là truy vấn sẽ trả về tổng số lương bản ghi đang có trong bảng USERS.
Xem thêm bài viết tìm tổng các giá trị trong cột tại đây.
Ví dụ 2: Sử dụng hàm COUNT trong SQL với GROUP BY
COUNT có thể được sử dụng như là một aggregate functions khi đi kèm với GROUP BY.
SELECT NAME. COUNT(*) as SO_LAN_TRA_LUONG FROM USERS GROUP BY NAME;
Dữ liệu trả về sẽ như sau:
+--------+---------------------+ | NAME | SO_LAN_TRA_LUONG | +--------+---------------------+ | kien | 1 | | nghia | 1 | | ngoc | 2 | | trang | 1 | +--------+---------------+
Đầu tiên là từ khóa SELECT với tên cột(NAME), sau đó là hàm COUNT() với giá cột làm đối số. Sau đó, chúng ta có SO_LAN_TRA_LUO, bí danh của cột mới được tạo bởi COUNT().
Tiếp theo là từ khóa FROM và tên bảng. Ở cuối, chúng ta có mệnh đề GROUP BY với cột NAME. Điều này xác định các nhóm (tức là những cá nhân được nhóm theo tên). Đối với mỗi nhóm, chúng ta nhận được tổng số bản ghi của nhóm đó.
Ví dụ 3: Dùng COUNT trong SQL với mệnh đề HAVING
Một cách khác để sử dụng COUNT() là lọc các hàng theo giá trị được trả về bởi hàm này – tức là trong mệnh đề HAVING.
Hãy cùng xem câu truy vấn sau đây:
SELECT NAME. COUNT(*) as SO_LAN_TRA_LUONG FROM USERS GROUP BY NAME HAVING SO_LAN_TRA_LUONG > 1;
Và kết quả trả về như sau:
+--------+---------------------+ | NAME | SO_LAN_TRA_LUONG | +--------+---------------------+ | ngoc | 2 | +--------+---------------------+
Trong câu SELECT phía trên, chúng ta có cột NAME. tiếp theo là hàm COUNT(*). Đối với mỗi NAME nhận được, chúng ta sẽ nhận được tổng số bản ghi. Sau FROM là tên bảng USERS đi kèm với mệnh đề GROUP BY với cột NAME.
Cuối truy vấn là mệnh đề HAVING với hàm COUNT(). Đoạn này sẽ cho phép lọc ra các nhân viên có số tổng số lần nhận lương lớn hơn 1.
Tạm kết
Như vậy SmartData đã cùng các bạn đi qua 3 ví dụ khá quen thuộc khi sử dụng cùng với hàm COUNT trong sql. Hi vọng bài viết này phần nào mang lại lợi tích cho các bạn trong công việc.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: