我的数据如下:
Order No. Name Date Unit Price Freight
001 ABC 1-16 232 25
001 ABC 1-16 55 25
001 ABC 1-16 156 25
002 DEF 2-5 478 16
002 DEF 2-5 356 16
我试图让运费仅在我的表格中显示一次,结果如下:
Order No. Name Date Unit Price Freight
001 ABC 1-16 232 25
001 ABC 1-16 55 0
001 ABC 1-16 156 0
002 DEF 2-5 478 16
002 DEF 2-5 356 0
请帮我解决这个问题
答案 0 :(得分:2)
以下是获取所需内容的查询:
SELECT
order_no, name, theDate, unit_price,
case
when row_number() OVER (PARTITION by order_no ORDER BY order_no) = 1 then freight
else 0
end as freight
from yourTable
这会查看每个订单号的所有行并提供行号。如果它是该订单的第1行,则使用货运列的值,否则使用0。
请注意,我假设相同订单编号的所有行的运费值相同。