首页 > 解决方案 > 如何在mysql查询中获得总和?

问题描述

我有查找 apiCount 和 javascriptCount 的 sql 查询,现在我想算作 apiCount + javascriptCount 我该怎么做,请帮助我。我尝试在谷歌上找到许多解决方案,但我无法完全解决我的问题。

SELECT  display , 
  SUM(CASE WHEN category = 2 AND (statusCode != -1 AND statusCode != 400  AND statusCode != 401) THEN 1 ELSE 0 END) apiCount, 
  SUM(CASE WHEN category = 1 THEN 1 ELSE 0 END) javascriptCount 
FROM error 
WHERE  `occurance` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) 
GROUP BY display

这是我的查询,我想在同一个查询中对 apiCount 和 javascriptCount 求和。

标签: mysqlsql

解决方案


使用“+”运算符使其总计或者您可以结合这两种逻辑来计算它

SELECT  display , 
SUM(CASE WHEN category = 2 AND (statusCode != -1 AND statusCode != 400  AND statusCode != 401) THEN 1 ELSE 0 END)+SUM(CASE WHEN category = 1 THEN 1 ELSE 0 END) 
 totalCount,occurance 
 FROM error WHERE  `occurance` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY display

或者

SELECT  display , 
SUM(CASE WHEN (category i=2 AND (statusCode != -1 AND statusCode != 400  AND statusCode != 401)) OR category = 1 THEN 1 ELSE 0 END)
 totalCount,occurance 
 FROM error WHERE  `occurance` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY display

推荐阅读