日期:2014-05-18  浏览次数:20516 次

sql 一个循环处理问题!!!
各位大侠, 小弟遇到一个亟待解决的问题,搞不定求助,问题如下:


  1
  8 2
  7 3
  6 4
  5
组成一个循环,我想从任意一个数开始读取31个数,例如我从3开始,那结果是3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1

用sql如何实现。谢谢

------解决方案--------------------
SQL code
DECLARE @Star INT = 3+8 ,
        @End INT = 3+8+31-1
WHILE @Star <= @End 
BEGIN 
SELECT
  CASE WHEN @Star % 8 = 0 THEN 8
  ELSE @Star % 8
  END AS Num
SET @Star = @Star +1
END