Vấn đề:
Bạn muốn xác định bảng có bao nhiêu hàng.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng tên là pet
với dữ liệu trong các cột sau:id
, eID
(mã định danh điện tử) và name
.
id | eID | tên |
---|---|---|
1 | 23456 | lấp lánh |
2 | 23457 | mily |
3 | KHÔNG ĐẦY ĐỦ | lessy |
4 | KHÔNG ĐẦY ĐỦ | carl |
5 | 34545 | maggy |
Hãy đếm tất cả các hàng trong bảng.
Giải pháp:
COUNT(*)
đếm tổng số hàng trong bảng:
SELECT COUNT(*) as count_pet FROM pet;
Đây là kết quả:
count_pet |
---|
5 |
Thay vì chuyển dấu hoa thị làm đối số, bạn có thể sử dụng tên của một cột cụ thể:
SELECT COUNT(id) as count_pet FROM pet;
Trong trường hợp này, COUNT(id)
đếm số hàng trong đó id
không phải là NULL
.
Thảo luận:
Sử dụng COUNT
chức năng tổng hợp để đếm số hàng trong một bảng. Hàm này lấy tên của cột làm đối số của nó (ví dụ:id
) và trả về số hàng cho cột cụ thể này trong bảng (ví dụ:5).
Như đã đề cập ở trên, khi bạn chỉ định một cột thay vì dấu hoa thị, hàm sẽ chỉ đếm không phải NULL
các giá trị. Vì id là khóa chính của bảng của chúng ta — và do đó có duy nhất và không phải là NULL
giá trị — nó là một ứng cử viên tốt để đếm tổng số hàng trong bảng.
Tất nhiên, để đếm tất cả các hàng, thay vào đó bạn có thể chuyển ký tự dấu hoa thị làm đối số cho COUNT. Điều này sẽ đếm tất cả các hàng, bao gồm cả những hàng có giá trị NULL
trong bất kỳ cột nào.
Dưới đây là một ví dụ về đếm số hàng cho một cột có NULL
giá trị:
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
Bạn nên chuyển cột khóa chính hoặc ký tự * vào hàm COUNT để đếm số hàng trong bảng. Như chúng ta đã thấy, cả hai cách tiếp cận sẽ mang lại kết quả giống nhau.