0

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

现在基于表 A。我想要 SQL Server 2008 的 SQL 选择查询的以下输出。

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

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

提前致谢

4

2 回答 2

2

尝试这个:

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

小提琴演示

于 2013-08-21T15:17:55.073 回答
1

把它当作伪代码,因为我不熟悉 SQL Server,但它应该给你一个地方去。

SELECT
    seq_no,
    ROUNDDOWN(seq_no/6)+1 AS dynamic_col
FROM
    my_table
于 2013-08-21T15:17:27.367 回答