【发布时间】:2017-06-30 13:31:42
【问题描述】:
有一个表,其中 group id 列需要使用生成的增量数字填充,如下例所示:
name batch
a 1
b 1
c 1
d 2
e 2
f 2
g 3
h 3
i 3
j 4
k 4
只要组具有相同数量的元素,顺序无关紧要
寻找一些想法如何实现这一点。
我的想法是构建一个遍历结果集的存储过程。
我也有这个“伪代码”,我正在使用,但显然有问题,也没有做更新部分只是一种选择,我正在考虑创建一个临时表,这看起来有点矫枉过正
SELECT
name,
batch = (ROW_NUMBER() OVER(ORDER BY name)) % ((Select COUNT(*) from [abc].[dbo].[cdg]) / 30))
FROM
[abc].[dbo].[cdg] x
【问题讨论】:
-
每批固定3条记录吗?
-
@Prdp 这是一个参数,但如果我们让它与 3 一起使用,应该可以使用任何参数来完成
-
这不只是mod的地板或天花板吗(%)?
标签: sql sql-server database stored-procedures