1

SQL select ステートメントで行番号を取得したいのですが、Oracle の rownum を使用できないような DB 固有のクエリであってはなりません。どうすればこれを達成できるか教えてください。
私は次のようなテーブル構造を持っています pid,emplid,desc カラムとして pid と emplid の組み合わせが主キーとして使用されます。したがって、このユースケースではクエリを提案してください。

ありがとう、
シャム

4

2 に答える 2

0

それを行うには、テーブルに一意Idのフィールドが必要です。行を別の行と区別するためのものです。その場合:

select t1.*,
(select count(id) from t as t2 where t2.id<=t1.id) as row_number

from t as t1 order by Id

UPD: 注文する列が 2 つある場合は、次のようになります。

select t1.*,
(select count(id) from t as t2 where t2.id1<=t1.id1 and t2.id2<=t1.id2) 
as row_number

from t as t1 order by Id1,id2
于 2013-05-17T08:38:58.427 に答える