首页 > 解决方案 > 如何在sql中计算销售和回报的百分比

问题描述

我在下表中有 10 列:

(transaction id, customer id, transaction date, product subcategory,
 product category, quantity, rate, tax, total amount and store type.)

我必须计算的回报是(数量、税率、税收和总金额)的负值

按产品子类别划分的销售和退货百分比是多少?

标签: sqlsql-server

解决方案


这听起来像:

  SELECT productsubcategory, SUM(CASE WHEN quantity < 0 THEN 1 ELSE 0)/COUNT(*)
  FROM t
  GROUP BY productsubcategory

这将给出所有交易的回报率。如果您希望它基于每个项目而不是每个事务,它更像是:

  SELECT productsubcategory, SUM(CASE WHEN quantity < 0 THEN -quantity ELSE 0)/SUM(ABS(quantity))
  FROM t
  GROUP BY productsubcategory

但要小心处理数量;我猜“卖20块饼干,退货15块饼干”一共是35个产品动作,其中15个是退货。我不知道您是否想要得出“15/20(75%)的饼干被退回”的结论,在这种情况下,将退货设为销售额的百分比,而不是销售额+退货的百分比


推荐阅读