5

私は以下のようなテーブル構造を持っています

id  wstage      wstatus wdate
101 Unaquired   create  2013-08-29 17:07:20.040
101 Unaquired   rework  2013-08-29 18:07:20.040
101 inprocess   accqui  2013-08-29 19:07:20.040
101 inprocess   alloca  2013-08-29 20:07:20.040
101 Unaquired   create  2013-08-29 21:07:20.040
101 Unaquired   rework  2013-08-29 22:07:20.040

私はこれを次のように番号付けする必要があります

id  wstage      wstatus wdate                   rownumber
101 Unaquired   rework  2013-08-29 22:07:20.040 1
101 Unaquired   create  2013-08-29 21:07:20.040 1
101 inprocess   alloca  2013-08-29 20:07:20.040 2
101 inprocess   accqui  2013-08-29 19:07:20.040 2
101 Unaquired   rework  2013-08-29 18:07:20.040 3
101 Unaquired   create  2013-08-29 17:07:20.040 3

関数を使用しようとしています

select *,ROW_NUMBER() over (partition by id,wstage order by wdate desc) rownumber

しかし、これは望ましい出力を与えていません。pl/sql を使用したくありません。これを達成するためのランキング関数または単純なクエリはありますか。私のテーブルには 5,000 万件のレコードがあります。

4

1 に答える 1