SQL旋转数字

时间:2009-07-24 08:09:16

标签: sql-server sql-server-2005 tsql

我想在sql中创建一个旋转逻辑,例如考虑有3个数字1,2,3然后第一周1,2将被选中接下来3,1下一个2,3等等.....如果有的话是4个数字1,2,3,4然后1,2下一个3,4下一个1,2等等...就像我想在sql server中生成数字。请帮助我。

2 个答案:

答案 0 :(得分:1)

你喜欢这样:

declare @cnt int, @ofs int

select @cnt = count(*) from TheTable

set @ofs = (((@week - 1) * 2) % @cnt) + 1

select * from TheTable
where Number between @ofs and @ofs + 1
union all
select * from TheTable
where Number between @ofs - @cnt and @ofs - @cnt + 1

答案 1 :(得分:0)

获取自纪元日期起的周数模数,然后从数字表中选择介于1和您的限制之外的所有条目,模数结果除外。