2016-07-21 35 views
0

只是TSQL初學者的一個簡單問題。增量數字表 - SQL

我只想知道如何爲一個數字表寫一個基本的INSERT查詢,它只包含一個數字列表。這些數字可能會有所不同,但是,例如,如果我想要5個號碼,號碼錶應該輸出20行,每行包含了以下這樣一個增量號:

NumberID 
1 
2 
3 
4 
5 

那麼可以說,我決定將號碼更改爲7,它將顯示如下:

NumberID 
1 
2 
3 
4 
5 
6 
7 

我該怎麼做?

+0

'「如果我想要5個數字,數字表格應該輸出20行」?' – Kaf

回答

0

這是使用CTE遞歸查詢。最大可能的數字是32767.

DECLARE @Number INT = 5 

;WITH x AS 
(
    SELECT num = 1 
    UNION ALL 
    SELECT num + 1 FROM x WHERE num < @Number 
) 
SELECT num FROM x 
OPTION (MAXRECURSION 32767); 
1

使用ROW_NUMBER()函數

select number from 
(
Select row_number() over (order by (select 0)) as number from sys.objects 
) as t where number<=5 

Select top 5 row_number() over (order by (select 0)) as number from sys.objects