我试图将第二列分成三部分,使得它们被平分,但如果总值不能被三整除,则情况是第一部分高于或等于第二部分,并且第二部分高于或等于第三部分。
以下是我的表格样本:
ID | Values
-------------------------
1 1
2 1
3 2
4 1
5 2
6 1
7 3
我的预期输出应该是(这里的ID列只是一个行号):
ID | Divided
-------------------------
1 3
2 3
3 1
如您所见,如果全部添加,则总值为11。因此,如果我们将它除以3,结果值为4,4和3.所以我只计算它以获得预期的输出:
(1, 1, 2) = 3,
next is (1, 2, 1) = 3,
and the last is (3) = 1.
我知道如何解决这个问题?我把它们除以3,但是计算它们以获得特定的业务逻辑很困难:
select @intSum = SUM(Values) / 3 from @table
我正在尝试使用存储过程。