gpt4 book ai didi

mysql - 如何使用 SQL 按特定类别按比例对总天数进行分类或划分

转载 作者:行者123 更新时间:2023-11-29 20:25:46 26 4
gpt4 key购买 nike

假设我有 65.52 天

我想把这个数字分成 13.25 天的一部分,这样输出结果就会像累积的一样

  • 13.25 天
  • 26.51 天
  • 39.77 天
  • 53.02 天
  • 65.52 天

请注意,分类是根据除后的值进行累积的,例如第二个值 26.51 天 = 13.25 + 13.25,第三个值是 39.77 = 26.51 天 + 13.25 天

但是最终该值正好落在总天数的限制内。不超过,也不再是 +13.25。

Item    Total Days  Divided     Categorized
Roc-1 65.52 13.26 13.26
13.26 26.51
13.26 39.77
13.26 53.02
12.50 65.52

最佳答案

由于问题中提到了 roc-1,拆分可能与 roc-1 表中的条目数有关,因此这可能有效

select t1.*,
@rn:=@rn+1 rn,
@maxrows maxrows,
cast(
case
when @rn <> @maxrows then @divided
else 65.52 - (@divided * (@rn -1))
end
as decimal(5,2))
divided
,cast(
case
when @rn <> @maxrows then @cum_total:= @cum_total + @divided
else @cum_total:=@cum_total + 65.52 - (@divided * (@rn -1))
end
as decimal(5,2))
cumtot

from (select @divided:= 13.26,@cum_total:=0) d,
(select @rn:=0) rn,
(select @maxrows:= (select count(*) from table1 t where t.id = 'roc-1')) maxrows,
table1 t1

+-------+------+---------+---------+--------+
| ID | rn | maxrows | divided | cumtot |
+-------+------+---------+---------+--------+
| roc-1 | 1 | 5 | 13.26 | 13.26 |
| roc-1 | 2 | 5 | 13.26 | 26.52 |
| roc-1 | 3 | 5 | 13.26 | 39.78 |
| roc-1 | 4 | 5 | 13.26 | 53.04 |
| roc-1 | 5 | 5 | 12.48 | 65.52 |
+-------+------+---------+---------+--------+

关于mysql - 如何使用 SQL 按特定类别按比例对总天数进行分类或划分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39325767/

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