Sql 数学-百分比问题增加数字以达到百分比

Sql 数学-百分比问题增加数字以达到百分比,sql,sql-server,math,Sql,Sql Server,Math,我正在使用SQL server来尝试计算这个问题,不过公平地说,这个问题更基于数学/逻辑 我需要计算出如何获得一定百分比(例如80%)的接听/接听率 因此,如果它目前为12/6-50%,我需要计算出需要多少电话,而没有任何被丢弃,才能得到80%, 我唯一能做的就是反复试验 i、 e 目前我唯一能想到的方法是每次给一个变量加1,直到百分比达到80。但从学校开始已经有一段时间了,我相信还有更好的方法 谢谢如果当前百分比为 cp=a/b 你们问a要加多少才能得到百分比p,这只是一个基本的数学,告诉我

我正在使用SQL server来尝试计算这个问题,不过公平地说,这个问题更基于数学/逻辑

我需要计算出如何获得一定百分比(例如80%)的接听/接听率

因此,如果它目前为12/6-50%,我需要计算出需要多少电话,而没有任何被丢弃,才能得到80%, 我唯一能做的就是反复试验

i、 e

目前我唯一能想到的方法是每次给一个变量加1,直到百分比达到80。但从学校开始已经有一段时间了,我相信还有更好的方法


谢谢

如果当前百分比为

cp=a/b

你们问a要加多少才能得到百分比p,这只是一个基本的数学,告诉我

a+x/b=p

cp+x/b=p

x=b p-cp

例如:

当前7/13=0.5385=cp

期望的4/5=0.8

将13*0.8-0.5385=3.4=x与7相加,得到10.4/13=0.8这相当简单:

current = a / b
target (pt) = (a + x) / (b + x)
pt(b + x) = a + x
pt b + pt x = a + x
pt b - a = x - pt x = x(1 - pt)

x = (pt b - a) / (1 - pt)
只要您的目标百分比表示为十进制0.8而不是百分比80,这将起作用:

DECLARE @TotalCalls float;
DECLARE @CallsNotDropped float;
DECLARE @PercentageToReach float;
DECLARE @Result float;

SET @TotalCalls = 13;
SET @CallsNotDropped = 7;
SET @PercentageToReach = 0.8; -- 80%

SET @Result = ((@PercentageToReach * @TotalCalls) - @CallsNotDropped) 
              / (1 - @PercentageToReach);

SELECT
    @Result As 'Number to add/subtract',
    @TotalCalls + @Result As 'New total',
    @CallsNotDropped + @Result As 'New not dropped',
    100 * ((@CallsNotDropped + @Result) / (@TotalCalls + @Result)) As 'New %'
;

/*
 Output:

 | Number to add/subtract | New total | New not dropped | New % |
 | 17                     | 30        | 24              | 80    |
*/

下面是公式:您可以在直接SQL中执行此操作;不需要存储过程:

NewCallsNeeded = (TargetRatio * TotalCalls - DroppedCalls) / (1 - TargetRatio)

我应该加上的是SQL Server 2008hi,这也不是我的问题,因为如果b增加,a也会增加,这只告诉我向a添加什么以获得百分比,不是吗?是的,它告诉你向a添加什么数字以获得所需的百分比phaha,我们对简单:P有不同的意见,但这是完全正确的。干杯,基本上,我在55分钟前发布的公式是一样的,但是由于你没有正确阅读问题,没有挂断的电话被挂断的电话取代了?>:投票否决我的答案不会改变你没有正确阅读问题、没有正确复制答案、没有对答案进行任何解释的事实。>:
NewCallsNeeded = (TargetRatio * TotalCalls - DroppedCalls) / (1 - TargetRatio)