MySQL中的COUNT CASE和WHEN语句


<!–

–>

MySQL中的COUNT CASE和WHEN语句

在MySQL中,COUNT函数可以用来统计结果集中符合特定条件的行数。当我们想要在结果集中计算满足某个条件的记录数时,可以使用COUNT函数。而在特定条件的情况下,我们可以使用COUNT CASE和WHEN语句。

阅读更多:

语法

COUNT函数的语法是: COUNT(expression)。我们可以在expression中使用CASE语句来实现条件计数。

(adsbygoogle = window.adsbygoogle || []).push({});

下面是COUNT CASE和WHEN语句的语法:

SELECT COUNT(CASE WHEN condition1 THEN 1 ELSE NULL END),
       COUNT(CASE WHEN condition2 THEN 1 ELSE NULL END),
       ...
FROM table_name
WHERE condition;

在以上语法中,我们可以提供多个条件,例如condition1,condition2等等。这些条件都可以是任意的逻辑表达式。

示例

以下是使用COUNT CASE和WHEN语句同时满足多个条件的示例:

SELECT COUNT(CASE WHEN age > 20 AND gender = 'F' THEN 1 ELSE NULL END) AS female_20,
       COUNT(CASE WHEN age > 20 AND gender = 'M' THEN 1 ELSE NULL END) AS male_20,
       COUNT(CASE WHEN age <= 20 THEN 1 ELSE NULL END) AS under_20
FROM employee_info
WHERE department = 'sales';

在以上示例中,我们使用了三个不同的COUNT CASE和WHEN语句。第一个条件用于计算年龄大于20岁且性别为女性的员工人数,第二个条件用于计算年龄大于20岁且性别为男性的员工人数,第三个条件用于计算20岁及以下的员工人数。同时,WHERE语句限制了结果集只包含销售部门的员工信息。

总结

通过本文的介绍,我们了解到了MySQL中COUNT函数的基本用法以及COUNT CASE和WHEN语句的使用。借助这些强大的功能,我们可以更加灵活地对结果集进行统计和计数。在实际的数据分析和处理中,这些技巧会非常有用。