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

MySQL Aggregate Function để tìm số lần xuất hiện?

Để đếm số lần xuất hiện từ một bảng, bạn có thể sử dụng hàm tổng hợp COUNT () với GROUP BY. Cú pháp như sau -

 CHỌN yourColumnName, COUNT (*) as anyVariableName từ yourTableName GROUP BY yourColumnName; 

Để 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 CountOccurrences -> (-> CarId int not null auto_increment, -> CarName varchar (30), -> PRIMARY KEY (CarId) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,68 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ị CountOccurrences (CarName) ('Aston Martin'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('BMW'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('Aston Martin'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('Honda'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('BMW'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('Audi'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('Aston Martin'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('Bugatti'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,22 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('BMW'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,27 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('Honda'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào Giá trị CountOccurrences (CarName) ('Audi'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị CountOccurrences (CarName) ('BMW'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 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ừ CountOccurrences; 

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

 + ------- + -------------- + | CarId | CarName | + ------- + -------------- + | 1 | Aston Martin || 2 | BMW || 3 | Aston Martin || 4 | Honda || 5 | BMW || 6 | Audi || 7 | Aston Martin || 8 | Bugatti || 9 | BMW || 10 | Honda || 11 | Audi || 12 | BMW | + ------- + -------------- + Bộ 12 hàng (0,00 giây) 

Sau đây là truy vấn để đếm số lần xuất hiện của mỗi giá trị trong một cột bằng cách sử dụng count () với GROUP BY -

 mysql> chọn CarName, đếm (*) là TotalCount từ CountOccurrences -> nhóm theo CarName; 

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

 + -------------- + ------------ + | CarName | Tổng số tiền | + -------------- + ------------ + | Aston Martin | 3 || BMW | 4 || Honda | 2 || Audi | 2 || Bugatti | 1 | + -------------- + ------------ + 5 hàng trong bộ (0,00 giây)