You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL合并Count与Sum查询结果不符,求正确SQL语句

正确的PostgreSQL查询方案:统计指定条件的行数加字段总和

你的查询返回4的原因是外层多套了一层SUM():里面的子查询已经算出sum(perscarcountoffset)(0)加上count(*)(2)的结果是2,而外层SUM()会把这个结果和符合person=1的2条记录做累加,相当于2*2=4,所以得到了错误结果。

以下是两种正确的查询方案:

方案一:单表聚合计算

SELECT SUM(perscarcountoffset) + COUNT(*) AS total
FROM your_table_name
WHERE person = 1;

这个查询直接在person=1的数据集上,同时计算字段总和与记录行数,两者相加后得到预期的0+2=2。

方案二:独立子查询相加

SELECT 
    (SELECT SUM(perscarcountoffset) FROM your_table_name WHERE person = 1) +
    (SELECT COUNT(*) FROM your_table_name WHERE person = 1) AS total;

这种写法通过两个独立的子查询分别计算总和与行数,再直接相加,同样能得到正确结果。

注意:请将查询中的your_table_name替换为你实际的表名。

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:10:20