首页 > 解决方案 > 有没有办法根据其他 DISTINCT 列在一个列上选择总和,同时仅按第三列(日期)分组

问题描述

我有三列

年份 | 钱| ID
2020 100 01
2020 100 01
2019 50 02    
2018 50 03
2020 40 04

结果应该是

年份 | 钱 | 总人数
2020 | 240 | 4

** 由于前两个 id 相同,我尝试如下

按年份从表组中选择年份、总和(金钱)、计数(不同的 id)

但结果显示 4 个人,这是正确但错误的总和,因为它正在计算所有的钱

标签: sqloracle

解决方案


您可以聚合然后再次聚合:

select max(year), sum(money), count(*)
from (select distinct year, money, id
      from t
     ) t;

推荐阅读