Vấn đề:
Bạn muốn đếm có bao nhiêu giá trị không phải NULL khác nhau trong một cột nhất định.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng tên là customer
với dữ liệu trong các cột sau:id
, first_name
, last_name
và city
.
id | first_name | last_name | thành phố |
---|---|---|---|
1 | John | Williams | Chicago |
2 | Tom | Màu nâu | Austin |
3 | Lucy | Miller | Chicago |
4 | Ellie | Smith | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | KHÔNG ĐẦY ĐỦ |
Hãy tìm số lượng khác nhau (và không phải NULL
) thành phố.
Giải pháp:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Truy vấn này trả về số thành phố nơi khách hàng sinh sống:
thành phố |
---|
3 |
Thảo luận:
Để đếm số lượng các giá trị khác nhau được lưu trữ trong một cột nhất định, bạn chỉ cần chỉ định cột mà bạn chuyển vào COUNT
hoạt động như DISTINCT
. Khi được cung cấp một cột, COUNT
trả về số lượng giá trị trong cột đó. Kết hợp cái này với DISTINCT
chỉ trả về số lượng giá trị duy nhất (và không phải NULL).