MySQL 聚合函数用于查找出现次数?
mysqlmysqli database更新于 2025/4/22 16:12:17
要计算表中出现的次数,可以使用聚合函数 COUNT() 和 GROUP BY。语法如下 −
SELECT yourColumnName,COUNT(*) as anyVariableName from yourTableName GROUP BY yourColumnName;
为了理解上述语法,让我们创建一个表。创建表的查询如下 −
mysql> create table CountOccurrences -> ( -> CarId int not null auto_increment, -> CarName varchar(30), -> PRIMARY KEY(CarId) -> ); Query OK, 0 rows affected (0.68 sec)
使用 insert 命令在表中插入一些记录。 查询语句如下 −
mysql> insert into CountOccurrences(CarName) values('Aston Martin');
Query OK, 1 row affected (0.10 sec)
mysql> insert into CountOccurrences(CarName) values('BMW');
Query OK, 1 row affected (0.20 sec)
mysql> insert into CountOccurrences(CarName) values('Aston Martin');
Query OK, 1 row affected (0.15 sec)
mysql> insert into CountOccurrences(CarName) values('Honda');
Query OK, 1 row affected (0.20 sec)
mysql> insert into CountOccurrences(CarName) values('BMW');
Query OK, 1 row affected (0.11 sec)
mysql> insert into CountOccurrences(CarName) values('Audi');
Query OK, 1 row affected (0.18 sec)
mysql> insert into CountOccurrences(CarName) values('Aston Martin');
Query OK, 1 row affected (0.11 sec)
mysql> insert into CountOccurrences(CarName) values('Bugatti');
Query OK, 1 row affected (0.22 sec)
mysql> insert into CountOccurrences(CarName) values('BMW');
Query OK, 1 row affected (0.27 sec)
mysql> insert into CountOccurrences(CarName) values('Honda');
Query OK, 1 row affected (0.13 sec)
mysql> insert into CountOccurrences(CarName) values('Audi');
Query OK, 1 row affected (0.13 sec)
mysql> insert into CountOccurrences(CarName) values('BMW');
Query OK, 1 row affected (0.12 sec)
使用 select 语句显示表中的所有记录。查询如下 −
mysql> select *from CountOccurrences;
以下是输出 −
+-------+--------------+ | 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 | +-------+--------------+ 12 rows in set (0.00 sec)
以下查询使用 count() 和 GROUP BY 来计算列中每个值的出现次数 −
mysql> select CarName,count(*) as TotalCount from CountOccurrences -> group by CarName;
以下是输出 −
+--------------+------------+ | CarName | TotalCount | +--------------+------------+ | Aston Martin | 3 | | BMW | 4 | | Honda | 2 | | Audi | 2 | | Bugatti | 1 | +--------------+------------+ 5 rows in set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

