我正在寻找一个查询来产生一个数字的倍数

时间:2016-03-09 17:00:11

标签: sql-server sql-server-2008

  SELECT TOP 10 ROW_NUMBER() OVER (ORDER BY [object_id]) 
  FROM sys.all_columns

运行该代码即可获得如下所示的增量计数。

1
2
3
4
5
6
7
8
9
10
...

我正在寻找获得数字倍数的方法,例如,28

28
56
84
112
140
...

2 个答案:

答案 0 :(得分:1)

您需要一种生成数字列表的方法

https://stackoverflow.com/a/33146869/3470178

SELECT 24 * I as multi
FROM (
        SELECT (ones.n + 10*tens.n) as i
        FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
             (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n)
        WHERE ones.n + 10*tens.n < 100 -- Your Limit
      ) T
ORDER BY multi

答案 1 :(得分:0)

如果我们使用相同的想法:

SELECT TOP 10 yourNumber * ROW_NUMBER() OVER (ORDER BY [object_id]) 
FROM sys.all_columns

它会给你的号码* 1,然后是你的号码* 2,......