动态获取SQL列值

时间:2013-08-21 15:07:07

标签: sql-server-2008

表A中有一列。列名是序号。表A的结构是1,2,3,4 ...... 3600的数字。

现在基于表A.我想从SQL server 2008的SQL select查询中得到以下输出。

seq no      dynamic col
1           1
2           1
3           1
4           1
5           1
6           2
7           2
8           2
9           2
10          2
11          2
12          3
13          3

我的第二列是在运行时生成的。 业务逻辑是,如果序号为mod 6 = 0,则增加动态列的值。

提前致谢

2 个答案:

答案 0 :(得分:2)

试试这个:

select seqno, (seqno/6) +1  dynamiccol
from t

Fiddle Demo

答案 1 :(得分:1)

将其作为伪代码,因为我并不熟悉SQL Server,但它应该可以让你去哪里。

SELECT
    seq_no,
    ROUNDDOWN(seq_no/6)+1 AS dynamic_col
FROM
    my_table