假设我有表的人:SQL - 从表分配行到不均匀组,根据其它表
name | group
------------
bob | -
bill | -
joe | -
tim | -
mei | -
jen | -
ben | -
lyn | -
eli | -
fin | -
hal | -
kim | -
而且表组:
group | max_people
------------------
A | 2
B | 5
C | 3
我将如何编写一个查询,返回People表中的行,每行按顺序分配给一个组,直到全部10人被分配为止。
分配给组的人数不能超过所述组的max_people值。所以如果所有组的最大值都已经达到,剩下的人应该被分配。
所以输出应该是这样的:
name | group
------------
bob | A
bill | A
joe | B
tim | B
mei | B
jen | B
ben | B
lyn | C
eli | C
fin | C
hal | -
kim | -
非常感谢!
表没有为了自己的行。那么“顺序”意味着什么? – philipxy