gpt4 book ai didi

algorithm - 如何在记录之间分配值

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:34:16 26 4
gpt4 key购买 nike

我有值 1000 和表:

table
(
Id int (PK),
Percent float,
Value int
)

我必须根据两个法则(两个分离的策略)为该表中的每条记录分配 1000 个字段值:

1)平均分配策略

2) 分配策略的百分比

按策略1)输入

Id  Percent Value
1, - 0
2, - 0
3, - 0

输出

Id  Percent Value
1, - 333
2, - 333
3, - 334

按策略2)输入

 Id  Percent Value
1, 10% 0
2, 90% 0

输出

Id  Percent Value
1, 10% 100
2, 90% 900

谁能解释一个优雅的方法来做到这一点。谢谢。

最佳答案

UPDATE yourtable SET Value =( SELECT 1000/COUNT(Value) from yourtable )

UPDATE yourtable SET Value =( Value * Percent )

但不确定如何处理舍入错误。

编辑:可能在第一种情况下使用第二条语句将缺失的数字添加到最后一行。

UPDATE yourtable SET Value = Value + 1000 -( SELECT SUM(Value) from yourtable) where id= (SELECT MAX(Id) from yourtable)

但这并不好,因为最后一行的数字可能会大得多……您最终会比其他行的数字大得多。 (尝试使用 6 个输入行运行查询...)

关于algorithm - 如何在记录之间分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5897661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com