Sql 使用group by显示总和的最大值
大家好, 我一直在努力只显示COBRANCATOTAL每年的最大值,并显示客户的名称和nif, 例如,查询结果是: 因此,结果应该是Sql 使用group by显示总和的最大值,sql,database,oracle,Sql,Database,Oracle,大家好, 我一直在努力只显示COBRANCATOTAL每年的最大值,并显示客户的名称和nif, 例如,查询结果是: 因此,结果应该是 227518698 | Rui | G | 2015 | 100 227518699 | Sara | G | 2016 | 100 227518693 | Paulo Pereira | G | 2014 | 43 227518691 | Diogo Batista | G | 2017 | 2 我似乎无法删除其他值,只是为了显示每年的最大值。您可以使用窗口
227518698 | Rui | G | 2015 | 100
227518699 | Sara | G | 2016 | 100
227518693 | Paulo Pereira | G | 2014 | 43
227518691 | Diogo Batista | G | 2017 | 2
我似乎无法删除其他值,只是为了显示每年的最大值。您可以使用窗口功能来执行此操作。这里有一种方法:
with t as (
<your query here>
)
select t.*
from (select t.*, row_number() over (partition by year order by cobrancatotal desc) as seqnum
from t
) t
where seqnum = 1;
您还应该学习使用正确的显式连接语法。FROM子句中的逗号来自SQL的古老版本。将查询作为文本而不是图像放入问题中。