假设我有下表。如何根据 ID
列仅显示一次“金额”?
ID Amount
1 10.00
1 10.00
1 10.00
2 10.00
2 10.00
2 10.00
给定 ff 示例,预期输出应该是这样的:
ID Amount
1 10.00
1 0.00
1 0.00
2 10.00
2 0.00
2 0.00
我尝试使用 ROW_NUMBER
但它还不够,它给了我这个结果。
ID Amount
1 10.00
1 0.00
1 0.00
2 0.00
2 0.00
2 0.00
编辑: 这是我到目前为止尝试过的:
SELECT ID
,CASE WHEN ROW_NUMBER() OVER(PARTITION BY Amount ORDER BY ID) = 1
THEN Amount
ELSE 0.00
END [AMOUNT]
FROM TABLE
最佳答案
只需更改您的分区以使用 ID:
SELECT ID
,CASE WHEN ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ID) = 1
THEN Amount
ELSE 0.00
END [AMOUNT]
FROM TABLE
Order by ID, Amount Desc
关于sql - 仅显示一次列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31593415/