mysql SELECT 列但只使用 WHERE 到一个

标签 mysql

我有这个问题:

SELECT  i.d, COUNT(id) AS dr, COUNT(id2) AS dn, SUM(eq) AS eq_sum, COUNT(thx) AS thx_count 
FROM dsd
  INNER JOIN 
    (
      SELECT COUNT(id) AS d FROM ds
    ) i

现在我只想将 WHERE 用于 thx 列,例如 WHERE thx="y",这样它将只计算所有带有“y”的值。

但如果我只是在查询末尾添加 WHERE,它也会影响其他列,而我不想这样做。

如何做到这一点?

最佳答案

然后使用 CASE 表达式将您的 COUNT(thx) AS thx_count 更改为以下

COUNT(CASE WHEN thx = 'y' THEN 1 ELSE 0 END) AS thx_count

(或)

SUM(CASE WHEN thx = 'y' THEN 1 ELSE 0 END) AS thx_count

关于mysql SELECT 列但只使用 WHERE 到一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430118/

相关文章:

mysql - 字符串 1 - 结果 1 - 字符串 2 - 结果 2

php导入本地CSV文件到MYSQL表

MySQLi 结果集上的 PHP Foreach

mysql - 插入时十进制值错误 - MySQL

php - 显示数据库中的记录 [codeigniter]

mysql - 如何列出我的服务器上的架构?

MySQL:如何更新以 "1"开头的键列

MySql - 无法添加或更新子外键约束失败

php - mysql日期和时间自动标记?

mysql - SQL触发器不工作