源表T:
ID,ACC_NBR
1,1301111111
2,1311111111
3,1321111111
4,1331111111
5,1341111111
6,1351111111
源表G:
GROUP
A
B
C
D
需要得到的结果表: T1
ID,ACC_NBR,GROUP
1,1301111111,A
2,1311111111,A
3,1321111111,B
4,1331111111,B
5,1341111111,C
6,1351111111,C
需求描述:
这个需求是为了平均分配一份数据,实例中是有6行唯一的数据,实现2个号码分配一个组(这里希望是可以调整的,比如说10个号码一组),一定要连续,比如A组必须是1,2,不能是1,2,7。一共有ABC3组,实际情况会有7行数据,那么就自动分配到下一个组D。ABC组是提前定义好的一张表,可能会有300个组。
------解决思路----------------------
呃,你说要预留可以改组员数的地方~~
所以我就把声明并设定值留给你了
以下是组员数为2
你试下吧,有啥问题贴上来
DECLARE @GROUPCONT int
SET @GROUPCONT=2
SELECT
T2.*,T1.AGENT_ID
FROM
(SELECT ROW_NUM()OVER(ORDER BY AGENT_ID)RN,AGENT_ID FROM G) T1
JOIN ##t_2 T2 ON T1.RN = (T2.ID-1)/@GROUPCONT+1