我有一个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中有什么内容
答案 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