Đối với điều này, hãy sử dụng hàm tổng hợp count (*) để đếm GROUP BY để nhóm. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable ( UserName varchar(100), UserPostMessage text ); Query OK, 0 rows affected (0.54 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable values('Chris','Hi'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values('David','Hello'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('Chris','Awesome'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('Chris','Amazing'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values('David','Nice Place'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('Chris','Amazing'); Query OK, 1 row affected (0.12 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select *from DemoTable;
Điều này sẽ tạo ra kết quả sau -
+----------+-----------------+ | UserName | UserPostMessage | +----------+-----------------+ | Chris | Hi | | David | Hello | | Chris | Awesome | | Chris | Amazing | | David | Nice Place | | Chris | Amazing | +----------+-----------------+ 6 rows in set (0.00 sec)
Đây là truy vấn để đếm các bản ghi duy nhất từ một cột trong cơ sở dữ liệu MySQL của tôi -
mysql> select UserName,count(DISTINCT UserPostMessage) AS NumberOfMessagesPostByUser from DemoTable group by UserName;
Điều này sẽ tạo ra kết quả sau -
+----------+----------------------------+ | UserName | NumberOfMessagesPostByUser | +----------+----------------------------+ | Chris | 3 | | David | 2 | +----------+----------------------------+ 2 rows in set (0.00 sec)