Để đếm 10 giá trị xuất hiện nhiều nhất trong một cột trong MySQL, Cú pháp như sau -
SELECT yourColumnName, count(*) FROM yourTableName GROUP BY yourColumnName ORDER BY count(*) DESC LIMIT 10;
Để 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> create table countTop10Demo -> ( -> Value int -> ); Query OK, 0 rows affected (0.74 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into countTop10Demo values(10); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(1100); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(200); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(2100); Query OK, 1 row affected (0.10 sec) mysql> insert into countTop10Demo values(1100); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(450); Query OK, 1 row affected (0.28 sec) mysql> insert into countTop10Demo values(600); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(2100); Query OK, 1 row affected (0.16 sec) mysql> insert into countTop10Demo values(150); Query OK, 1 row affected (0.16 sec) mysql> insert into countTop10Demo values(16454); Query OK, 1 row affected (0.10 sec) mysql> insert into countTop10Demo values(450); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(2350); Query OK, 1 row affected (0.10 sec) mysql> insert into countTop10Demo values(1780); Query OK, 1 row affected (0.15 sec) mysql> insert into countTop10Demo values(1345); Query OK, 1 row affected (0.22 sec) mysql> insert into countTop10Demo values(34); Query OK, 1 row affected (0.15 sec) mysql> insert into countTop10Demo values(2100); Query OK, 1 row affected (0.08 sec) mysql> insert into countTop10Demo values(19034); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(1844); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(34); Query OK, 1 row affected (0.08 sec) mysql> insert into countTop10Demo values(16454); Query OK, 1 row affected (0.19 sec)
Bây giờ bạn có thể 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 *from countTop10Demo;
Đây là kết quả -
+-------+ | Value | +-------+ | 10 | | 1100 | | 200 | | 2100 | | 1100 | | 450 | | 600 | | 2100 | | 150 | | 16454 | | 450 | | 2350 | | 1780 | | 1345 | | 34 | | 2100 | | 19034 | | 1844 | | 34 | | 16454 | +-------+ 20 rows in set (0.00 sec)
Sau đây là truy vấn để chọn 10 giá trị xuất hiện nhiều nhất trong một cột trong MySQL -
mysql> SELECT Value, count(*) -> FROM countTop10Demo -> GROUP BY Value -> ORDER BY count(*) DESC -> LIMIT 10;
Đây là kết quả -
+-------+----------+ | Value | count(*) | +-------+----------+ | 2100 | 3 | | 1100 | 2 | | 34 | 2 | | 450 | 2 | | 16454 | 2 | | 1780 | 1 | | 200 | 1 | | 1345 | 1 | | 19034 | 1 | | 600 | 1 | +-------+----------+ 10 rows in set (0.00 sec)