一个mssql ,怎么查询呢,请,多谢

一个mssql ,如何查询呢,请高手指点,谢谢


运费,标识,订单号
  5,S,1001
  5,S,1001
10,S,1002
10,S,1003
10,Y,1004
12,Y,1005
12,Y,1005
15,Y,1006

我想统计汇总,总共运费是多少钱,Y标识,同一订单号运费不累加。S标识 同一订单号运费 累加。
最后算出来的总金额是 

Y标识:37(15+12+10),S标识:30(5+5+10+10)
=========================================================
查询结果如下:

总计,Y总计,S总计
67,37,30

------解决思路----------------------
with tb(运费,标识,订单号) as
(
select 5,'S',1001 union all
select 5,'S',1001 union all
select 10,'S',1002 union all
select 10,'S',1003 union all
select 10,'Y',1004 union all
select 12,'Y',1005 union all
select 12,'Y',1005 union all
select 15,'Y',1006
),
tb1 as
(
select *,ROW_NUMBER()over(PARTITION by 标识,订单号 order by getdate())rn from tb
)
select sum(case when 标识='S' then 运费 when 标识='Y' and rn=1 then 运费 end)'合计',
SUM(case when 标识='S' then 运费 end)'S合计',
SUM(case when 标识='Y' and rn=1 then 运费 end)'Y合计' from tb1


合计          S合计         Y合计
----------- ----------- -----------
67          30          37