4

3 ~ 4 個のテーブルとの結合を使用して 1000 という結果を返す select ステートメントがあります。私の要件は、結果セットに ID 列を含めることです。誰でもこれについて私を助けることができますか?

元 :

Result :
id   name 
--   ----
001   xxx
002   yyy
003   zzz

My requirment :
Rowid   id   name 
 1      --   ----
 2       001   xxx 
 3       002   yyy
 4       003   zzz

sql の Row_number のように、sybase に何かありますか?

4

2 に答える 2

7

sybaseには、row_numberそのようなものはありません。おそらく、ID 列を持つ一時テーブルが役に立ちますか?

以下の例を検討してください。

 select Rowid = identity(8), id, name      
 into #temtab
 from tab

 select Rowid, id, name
 from #temtab
于 2013-05-21T06:52:22.790 に答える
2

私が使用している Sybase IQ のバージョンには、バージョン Number() または ROW_NUMBER() 関数が存在します。私のバージョンでは、次を使用できます。

select Number() rowid, id, name      
 from tab

また

select ROW_NUMBER() OVER (PARTITION BY name ORDER BY id) rowid, id, name      
 from tab

また

select ROW_NUMBER() OVER (ORDER BY id) rowid, id, name      
 from tab
于 2016-12-22T08:24:09.127 に答える