我需要从产生发票明细表的复杂SQL查询的结果中删除重复的总值。
我一直在寻找示例,但是我找不到任何可以根据另一列中的值在其中一列中删除重复项的东西。
这是我拥有的数据的基本示例。我需要保持这种表格格式:
Project Section Reference Section_Amount Total
a 1 inv1 1500 1500
a 1 inv2 1000 3000
a 2 inv2 1000 3000
a 3 inv2 1000 3000
a 4 inv3 1700 1700
我需要拥有:
Project Section Reference Section_Amount Total
a 1 inv1 1500 1500
a 1 inv2 1000 3000
a 2 inv2 1000 NULL
a 3 inv2 1000 NULL
a 4 inv3 1700 1700
如您所见,发票2的总计仅显示一次。
这可能吗?
在此先感谢您的帮助!
答案 0 :(得分:2)
您可以使用row_number()
:
select Project, Section, Reference, Section_Amount,
(case when row_number() over (partition by reference order by section) = 1
then total
end) as total
from t;