SQL có sẵn lệnh để đếm các dòng trong CSDL.
Cú pháp của hàm
COUNT
:
SELECT COUNT(tên_cột) FROM tên_bảng
Hàm COUNT
(*):Hàm
COUNT
(*) trả về số lượng các dòng được chọn ở trong
bảng.Ví dụ ta có bảng Persons như sau:
Name | Age |
---|---|
Hansen, Ola | 34 |
Svendson, Tove | 45 |
Pettersen, Kari | 19 |
Câu lệnh sau sẽ trả về số lượng các dòng trong bảng:
SELECT COUNT(*) FROM Persons
và kết quả trả về sẽ là:
3
Câu lệnh sau sẽ trả về số lượng những người lớn hơn 20 tuổi:
SELECT COUNT(*) FROM Persons WHERE
Age > 20
kết quả trả về sẽ là:
2
Hàm COUNT
(column):Hàm
COUNT
(column) sẽ trả về số lượng các dòng có giá trị
khác NULL
ở cột được chỉ định.Ví dụ ta có bảng Persons như sau:
Name | Age |
---|---|
Hansen, Ola | 34 |
Svendson, Tove | 45 |
Pettersen, Kari |
Câu lệnh sau sẽ trả về số lượng những người mà cột Age trong bảng không rỗng:
SELECT COUNT(Age) FROM Persons
và kết quả trả về sẽ là:
2
Mệnh đề
COUNT DISTINCT
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:Company | OrderNumber |
---|---|
Sega | 3412 |
W3Schools | 2312 |
Trio | 4678 |
W3Schools | 6798 |
Câu lệnh SQL sau:
SELECT COUNT(DISTINCT
Company) FROM
Orders
sẽ trả về kết quả là:
3