Computer >> Máy Tính >  >> Lập trình >> MySQL

Tôi có thể sử dụng MySQL COUNT () và DISTINCT cùng nhau không?

Có, bạn có thể sử dụng đồng thời COUNT () và DISTINCT để hiển thị số lượng các hàng riêng biệt.

Cú pháp như sau -

 CHỌN ĐẾM (DISTINCT yourColumnName) AS anyVariableName TỪ yourTableName; 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng.

Truy vấn để tạo bảng như sau -

 mysql> tạo bảng CountDistinctDemo -> (-> Id int NOT NULL AUTO_INCREMENT, -> Name varchar (20), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (3,11 giây)  

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

 mysql> chèn vào giá trị CountDistinctDemo (Name) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,48 giây) mysql> chèn vào giá trị CountDistinctDemo (Name) ('Bob'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,43 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,26 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,27 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('Bob'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,35 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,98 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,26 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('Sam'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,14 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('Mike'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,53 giây) mysql> chèn vào giá trị CountDistinctDemo (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,31 giây) mysql> chèn vào các giá trị CountDistinctDemo (Tên) ('David'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,40 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau.

 mysql> select * từ CountDistinctDemo; 

Sau đây là kết quả.

 + ---- + ------- + | Id | Tên | + ---- + ------- + | 1 | Carol || 2 | Bob || 3 | Carol || 4 | John || 5 | Bob || 6 | Carol || 7 | John || 8 | Sam || 9 | Mike || 10 | Carol || 11 | David | + ---- + ------- + 11 hàng trong bộ (0,07 giây) 

Nếu bạn không sử dụng DISTINCT, thì hàm COUNT () cung cấp số lượng tất cả các hàng.

Truy vấn như sau -

 mysql> chọn số lượng (Tên) là TotalName từ CountDistinctDemo; 

Sau đây là kết quả -

 + ----------- + | TotalName | + ----------- + | 11 | + ----------- + 1 hàng trong bộ (0,04 giây) 

Đây là truy vấn để sử dụng đồng thời COUNT () và DISTINCT -

 mysql> CHỌN ĐẾM (Tên DISTINCT) làm Tên duy nhất TỪ ĐếmDistinctDemo; 

Sau đây là kết quả

 + ------------ + | UniqueName | + ------------ + | 6 | + ------------ + 1 hàng trong bộ (0,00 giây)