sql - 如何在sql中计算销售和回报的百分比
问题描述
我在下表中有 10 列:
(transaction id, customer id, transaction date, product subcategory,
product category, quantity, rate, tax, total amount and store type.)
我必须计算的回报是(数量、税率、税收和总金额)的负值
按产品子类别划分的销售和退货百分比是多少?
解决方案
这听起来像:
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%)的饼干被退回”的结论,在这种情况下,将退货设为销售额的百分比,而不是销售额+退货的百分比
推荐阅读
- laravel - response()->download() 适用于邮递员,但不适用于 SPA
- macos - OSX Catalina / OSX Tiger - 解决任何 ISO 问题
- java - 如何将 ChromeOptions 和 chrome Driver 声明为 blockBrowserNotification_Testng 的公共方法
- javascript - jQuery Ajax - 仍在重新加载页面 - Laravel 分页
- firebase - 从 Firestore 获取数据并渲染到另一个函数 DART
- git - Git:误导性错误:“找不到远程存储库”,而我没有写访问权限
- python - Python-Jupyter 中的键盘快捷键不起作用
- java - ListView.setAdapter(android.widget.ListAdapter)' 在空对象引用上
- shell - 如何在 aws cloudformation 模板中包含外部参数?
- firebase - Webpack 和 Firebase