oracle中如何篩選數據

在一堆訂單中,對其中一個訂單處理,如訂單為P-01時,訂單序為1,序為2的不要,其他的訂單還是原來的樣子,請教大師幫忙看下,謝謝!

举例不是很明白,不过看着大体意思,应该case when的函数方式应该能符合你的要求。

我用case when試過了,結果不是我想要的樣子,它會把這個訂單的序都變成1,而不是只保留一個1
如下所示:2015/1/16 P-1401639 1 JM-21198324 540 完工
2015/2/27 P-1402335 1 JM-13081493 1596 生效
2015/2/27 P-1402335 1 JM-13081493 588 生效
就如上面看到的,P-1402335,這個訂單號有兩個序1和2,用case when后都變成1了,而我只想要第一個1
這樣該怎麼辦

SELECT 字段,ROW_NUMBER() OVER(PARTITION BY 订单号) from table