postgres: sum if count distinct id = 1



如何对具有不同id的total求和,避免两次相加total?

表:

id | total | quantity |
-----------------------
1  | 50    | 1        |
1  | 50    | 2        |

预期结果:

sum of total | sum of quantity |
---------------------------------
50           | 3               |

一种方法是:

select id, sum(distinct total), sum(quantity)
from t
group by id;

也就是说,当您需要sum(distinct)时,您的数据出现了问题。我从未在";真实的";密码只是为了这样的示范。这通常意味着数据是查询的结果,聚合应该有点不同。或者数据中缺少另一个id(与正在相加的值分开(。

最新更新