Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Đếm số lần xuất hiện của mỗi FileID trong bảng MySQL

Tạo bảng với AUTO_INCREMENT bắt đầu từ 100:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FileID INT
) AUTO_INCREMENT=100; Query OK, 0 rows affected (1.36 sec)

Chèn dữ liệu (FileID có trùng):

mysql> INSERT INTO DemoTable(FileID) VALUES(50); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(FileID) VALUES(60); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(FileID) VALUES(50); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable(FileID) VALUES(70); Query OK, 1 row affected (0.25 sec)
mysql> INSERT INTO DemoTable(FileID) VALUES(60); Query OK, 1 row affected (0.28 sec)
mysql> INSERT INTO DemoTable(FileID) VALUES(50); Query OK, 1 row affected (0.32 sec)

Hiển thị dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả:

+-----+---------+
| Id  | FileID  |
+-----+---------+
| 100 | 50      |
| 101 | 60      |
| 102 | 50      |
| 103 | 70      |
| 104 | 60      |
| 105 | 50      |
+-----+---------+
6 rows in set (0.00 sec)

Truy vấn đếm số lần mỗi FileID xuất hiện:

mysql> SELECT FileID, COUNT(*) AS EntryCount FROM DemoTable GROUP BY FileID;

Kết quả:

+---------+------------+
| FileID  | EntryCount |
+---------+------------+
| 50      | 3          |
| 60      | 2          |
| 70      | 1          |
+---------+------------+
3 rows in set (0.00 sec)

Lưu ý: Cột trong COUNT() có thể là * hoặc tên cột bất kỳ (COUNT(FileID) cũng cho kết quả giống nhau vì FileID không NULL).