情况与同一领域

时间:2017-06-30 10:29:11

标签: sql oracle oracle11g

我有一个包含少量列(见附件)的表格,用于布局。

现在您可以看到记录1和3具有相同的"关闭ECL" ..我想要的是哪个最高" TOTAL&#34 ; 保留ECL金额和其他记录(总数相同)"结算ECL" 更新为0 ..

我该怎么做?非常困惑.. enter image description here

方案: enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用update

执行此操作
update t
    set closingECL = 0
    where total < (select max(t2.total)
                   from t t2
                   where t2.primary_elf_id = t.primary_elf_id and
                         t2.closingECL = t.closingECL
                  );

这假设逻辑是按primary_elf_id应用的。

注意:如果最大total重复,那么所有最大值都会保留。