MySQL如何统计指定条件行数并累加每行plusOnes列值得到总结果
实现方案
你需要的结果可以直接通过两个聚合函数相加实现,逻辑是:符合条件的总行数 + 所有符合条件行的plusOnes字段之和,对应的查询语句如下:
SELECT COUNT(*) + SUM(COALESCE(plusOnes, 0)) AS total FROM 替换为你的实际表名 WHERE tblEventID = 32;
逻辑说明
COUNT(*)统计所有tblEventID = 32的行数,你的场景中返回值为3SUM(COALESCE(plusOnes, 0))累加所有符合条件行的plusOnes值,用COALESCE是为了避免plusOnes为NULL时导致求和结果异常,你的场景中累加结果为2+2+0=4- 两者相加即可得到最终结果 3+4=7,完全匹配你的需求
如果你原本的统计逻辑是只统计status字段非空的行数,把语句中的COUNT(*)替换为COUNT(status)即可。
内容的提问来源于stack exchange,提问作者innom
相关产品推荐
相关产品推荐

