如何在sybase查询中设置行号

时间:2013-05-17 11:59:38

标签: sybase sybase-ase

我有一个select statentnt,它会返回1000个结果,使用3到4个表的连接。我的要求是在结果集中有标识列。任何人都可以帮助我。

前:

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中有什么内容

2 个答案:

答案 0 :(得分:5)

在sybase中没有row_number或类似的东西。也许带有标识列的临时表会对你有帮助吗?

请考虑以下示例。

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

 select Rowid, id, name
 from #temtab

答案 1 :(得分:1)

在我使用的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