似乎有人問過類似的問題,其他數據庫產品(特別是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