为此,您可以将CASE语句与SUM()一起使用。在这里,我们将从具有员工性别值的列中查找“男性”和“女性”记录的数量。让我们首先创建一个表-
create table DemoTable ( EmployeeGender ENUM('Male','Female') );
使用插入命令在表中插入一些记录-
insert into DemoTable values('Male'); insert into DemoTable values('Female'); insert into DemoTable values('Male'); insert into DemoTable values('Female'); insert into DemoTable values('Male'); insert into DemoTable values('Female');
使用select语句显示表中的所有记录-
select *from DemoTable;
这将产生以下输出-
+----------------+ | EmployeeGender | +----------------+ | Male | | Female | | Male | | Female | | Male | | Female | +----------------+ 6 rows in set (0.00 sec)
以下是在一个查询中获取两个表字段的计数的查询-
select sum(case when EmployeeGender='Male' then 1 else 0 end) as Total_Number_Of_Male_Employee, sum(case when EmployeeGender='Female' then 1 else 0 end) as Total_Number_Of_Female_Employee from DemoTable;
这将产生以下输出-
+-------------------------------+---------------------------------+ | Total_Number_Of_Male_Employee | Total_Number_Of_Female_Employee | +-------------------------------+---------------------------------+ | 3 | 3 | +-------------------------------+---------------------------------+ 1 row in set (0.00 sec