- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SELECTした結果に行番号を求めたい)
SELECTした結果に行番号を求める方法とは?
このQ&Aのポイント
- Oracleのrow_numberのような関数はないのでしょうか?
- Order By句を指定してSELECTした結果の行番号を求めたいのですが、なにか良い方法はないのでしょうか。
- 例えば、Code1、Code2、Code3でORDER BYした結果の行番号を求める方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
次のSQLを試してみてください。 select (select count(*)+1 from t1 as x where x.c1<y.c1 or x.c1=y.c1 and x.c2<y.c2 or x.c1=y.c1 and x.c2=y.c2 and x.c3<y.c3) as no, c1,c2,c3 from t1 as y order by no;
その他の回答 (1)
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.1
> Oracleのrow_numberのような関数はないのでしょうか? 私の知る限りでは、ないです。 > Order By句を指定してSELECTした結果の行番号を求めたいのです Code1、Code2、Code3の3列で、ユニークになりますか? あるいは、これ以外に、行をユニークに識別できるキーがありますか?
質問者
補足
やはりないのですか・・・。 Code1、Code2、Code3の3列で、ユニークになります。 何か方法がありますか?
お礼
ありがとうございました。 出来ました。 count(*)+1だと、NOが2から始まってしまったので、 count(*)にしてみたら、出来ました。