似乎有人问过类似的问题,其他数据库产品(特别是MS-SQL)的解决方案存在,但它们不适用于sybase,所以我问这个问题。Sybase在选择语句中添加递增计数器
我有一个简单的选择语句,我想得到一列包含和递增计数器与结果。
如:
counter data1 data2
0 aa AA
1 bb BB
2 cc CC
有没有办法做到这一点在一条语句,而不是把它变成一个临时表,并在其上运行的光标?
似乎有人问过类似的问题,其他数据库产品(特别是MS-SQL)的解决方案存在,但它们不适用于sybase,所以我问这个问题。Sybase在选择语句中添加递增计数器
我有一个简单的选择语句,我想得到一列包含和递增计数器与结果。
如:
counter data1 data2
0 aa AA
1 bb BB
2 cc CC
有没有办法做到这一点在一条语句,而不是把它变成一个临时表,并在其上运行的光标?
您需要,以及创建一个临时表,但你不需要任何光标,只是做这样的:
select counter = identity(10), data1, data2 into #t1 from tablename
select * from #t1
drop table #t1
不错 - 这就是我一直在寻找的!现在有什么办法可以指定要开始的号码吗? – 2012-01-09 22:04:54
@VictorParmar:你总是可以在最后的SELECT中添加一个偏移量,即'SELECT counter + 10 AS counter,data1,... FROM#t1'。 – 2012-01-09 22:12:18
优秀!!!!!! – 2012-01-09 22:16:33
根据的Sybase的版本使用的是,你还可以有一个看功能如NUMBER()
或ROW_NUMBER()
。
总共有多少结果(通常)? – 2012-01-06 17:50:33
不是很多,大约100,肯定在一个int :) – 2012-01-06 18:16:18
我已经回答了! :) – 2012-01-09 09:43:56