SQL查询以查找贡献的前80%

时间:2018-09-07 00:47:36

标签: sql

我正在寻找一种方法来编写SQL查询,该查询查找有助于80%的库存调整的商店位置,以及库存准确度的计算方法。我不太确定该怎么做。到目前为止,我已经掌握了其调整的总绝对值,该总绝对值将用于计算的基础。到目前为止,这就是我的帮助。

get_range(&low_number, &high_number);

1 个答案:

答案 0 :(得分:0)

好的,好吧,我觉得我对您要寻找的内容不是100%自信,但这是我的最佳猜测。看起来您想选择位置编号以及查询中所指的“注销”和“准确性”。您必须按位置编号分组才能获取每个位置的总和。

听起来,注销结果列应该可以帮助您了解特定地点对总库存调整的贡献是多少?假设这是真的,我也将按注销顺序以降序排列,以便您可以首先看到具有最高值的行。

 SELECT N_LOCATION
       ,sum(abs(ValueDifference)) As writeoff
       ,(sum(NumberofPartsCounted) - sum(Details.NumberofPartsCountedwithErrors))/(sum(NumberofPartsCounted)) As Accuracy
   FROM Details
  GROUP BY
        N_LOCATION
  ORDER BY
        writeoff DESC;

老实说,我认为完成我认为您要执行的操作的最佳方法是使用存储过程。我将使用上面的查询以及一个查询来选择所有位置的值差的绝对值之和。然后,我将在遍历第一个查询的结果时将所有位置的总计保存在要使用的变量中。这样,您可以将位置的“注销”与所有位置的总数相加,以找到每个位置的百分比。

我猜您会在结果集中添加位置,直到您添加的位置的百分比总计达到80%?不确定如何为这80%设置规则,但希望可以根据需要进行调整。