Mysql 统计表中的项目,涉及的表字段枚举类型

Mysql 统计表中的项目,涉及的表字段枚举类型,mysql,sql,select,count,group-by,Mysql,Sql,Select,Count,Group By,我有一个名为animals的基本表,其中包含两个字段name和type。字段type是一个枚举字段,具有以下值:enum('dog'、'cat'、'horse'、'zebra'、'lion')。我试图运行一个查询,计算每个物种的数量,并指定该物种的名称。例如,预期结果将显示如下内容dog=2、cat=2等。。在下面的查询中,我能够计算出动物的总数,但不能细分为物种数量和名称。我怎么能这样做 查询: select COUNT(type) from animals 表架构: CREATE TABL

我有一个名为
animals
的基本表,其中包含两个字段
name
type
。字段
type
是一个枚举字段,具有以下值:
enum('dog'、'cat'、'horse'、'zebra'、'lion')
。我试图运行一个查询,计算每个物种的数量,并指定该物种的名称。例如,预期结果将显示如下内容
dog=2、cat=2等。
。在下面的查询中,我能够计算出
动物的总数
,但不能细分为物种数量和名称。我怎么能这样做

查询:

select COUNT(type) from animals
表架构:

CREATE TABLE animals 
(
 name varchar(20),      
 type enum('dog','cat','horse','zebra','lion') 
 );

INSERT INTO animals
(name, type)
VALUES
('Bertha', 'horse'),
('Louis', 'cat'),
('Gina', 'cat'),
('Rafa', 'lion'),
('lilo', 'dog'),
('kilo', 'dog'),
('stripy', 'zebra');

使用
分组依据
计数
按类型对动物进行计数

试试这个:

SELECT a.type, COUNT(1) AS Cnt
FROM animals a 
GROUP BY a.type;
检查这个

输出

|  TYPE | CNT |
|-------|-----|
|   dog |   2 |
|   cat |   2 |
| horse |   1 |
| zebra |   1 |
|  lion |   1 |
你是说

select type, COUNT(*) from animals
group by type

您可以使用“按类型分组”来获取每种动物类型的计数。下面是对相同的问题的查询

从动物中选择
类型
,计数(*) 分组依据
类型

类型计数(*)


狗2 第2类 马1 斑马1 狮子1