how to set row number in sybase query

巧了我就是萌 提交于 2019-12-18 07:04:50

问题


I have a select statemnt which will return results say 1000 using join with some 3 to 4 tables. My requirement is to have identity column in the resultset . Can anyone help me on this.

ex :

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

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

Like Row_number in sql , do we have anything here in sybase


回答1:


In sybase there isn't row_number or something like that. Maybe temporary tables with identity column will help you?

Consider below example please.

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

 select Rowid, id, name
 from #temtab



回答2:


In the version of Sybase IQ I use, version Number() or ROW_NUMBER() functions exist. In my version you may use following:

select Number() rowid, id, name      
 from tab

or

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

or

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


来源:https://stackoverflow.com/questions/16608469/how-to-set-row-number-in-sybase-query

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!