SQL 如何让某一列循环从1到5递增

 我来答
Andy_Sun321
推荐于2017-12-16 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:725万
展开全部

是查询结果慎粗余中要求某一列循环从1到5递增? 可以使用row_number()函数给查询结果记录编号,然后整除5,余数为0的改为5即可。示例:

select s0.val, case when s0.idx = 0 then 5 else s0.idx end as idx
from (
 select s.val, row_number() over (order by val) % 5 as idx
 from (
  select '宽滚a' as val
  union all select 'b'
  union all select 'c'
  union all select 'd'
  union all select 'e'
  union all select 'f'
  union 凳码all select 'g'
  union all select 'h'
  union all select 'i'
  union all select 'j'
  union all select 'k'
  union all select 'k'
  union all select 'l'
 ) s
) s0

 该查询在SQL Server 2005上通过;其他数据库方法类似即可。

如果是更新已有记录,则可以通过游标逐条更新。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式