具有多个 'case' 值的 mysql 'WHEN'

标签 mysql case

我有一个查询需要对其他 2 列为 true 的列进行计数。 当“DealerName”如“%MINI%”和“DealerContact_Y”= 1 时,我需要计算“DealerName”

但我不确定语法。此查询产生错误

SELECT DealerName,
       count(DealerShipId) as dealersContacted,
       CASE WHEN
       DealerName LIKE "%MINI%", WHEN DealerContact_Y = 1
       THEN Count(DealerContact_Y) END as Mini_contacted_yes,
       Campaign, 
       DealerId 
       FROM tblsummaryResults

有没有办法在 case 语句中执行多个 WHENS?

最佳答案

您可以这样写,使用 DealerName LIKE '%MINI%' AND DealerContact_Y = 1:

SELECT DealerName,
  count(DealerShipId) as dealersContacted,
  count(CASE 
          WHEN DealerName LIKE '%MINI%' 
              AND DealerContact_Y = 1
          THEN DealerContact_Y END) as Mini_contacted_yes,
  Campaign, 
  DealerId 
FROM tblsummaryResults

关于具有多个 'case' 值的 mysql 'WHEN',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14752775/

相关文章:

if-statement - 二郎: nested cases

SQL SELECT 语句,列名作为来自另一个表的值

php - 确保 PHP/MySQL 投票系统的安全

mySQL to PostgreSQL concat first name and last name for name search (Ruby on Rails)

php - 有没有更好的方法来执行相同的 SELECT 查询,而不是在 while 循环中执行数千次?

search - 如何使用批处理搜索和替换区分大小写的字符串

sql - 无法显示平均销售额,包括没有销售额的地区

mysql - 在数学方程中使用查询结果集

php - 插入 pdo 前清空表

sql - 如何在单个 SQL CASE 语句中获取多个列?