mysql - 将 SUMPRODUCT 滑率佣金计算从 Excel 移植到 MYSQL

标签 mysql excel

我在 excel/googlesheet 中有一个滑动佣金率计算,我正在尝试移植到 MYSQL/PHP

我的表格位于 B3:E9 范围内(excel/google 表格)

+---+----------+-----------+-----------+----------+
| A |    B     |     C     |     D     |    E     |
+---+----------+-----------+-----------+----------+
| 3 | Tier Min | Tier Max  | Com. Rate | Dif Rate |
| 4 | 0        | 50,000    | 10.00%    | 0.10     |
| 5 | 50,000   | 100,000   | 15.00%    | 0.05     |
| 6 | 100,000  | 200,000   | 20.00%    | 0.05     |
| 7 | 200,000  | 300,000   | 25.00%    | 0.05     |
| 8 | 300,000  | 500,000   | 30.00%    | 0.05     |
| 9 | 500,000  | 1,000,000 | 35.00%    | 0.05     |
+---+----------+-----------+-----------+----------+

+----------------+----------------+
|      Sales     |  $ 160,000.00  |
+----------------+----------------+
| Commission US$ |  $ 24,500.00   |
| Global Rate %  | 15.31%         |
+----------------+----------------+

我在 H4 中输入“销售额”金额,并有计算佣金美元的公式:

=SUMPRODUCT(--(H4>$B$4:$B$9),--(H4-$B$4:$B$9),$E$4:$E$9)

现在是我的问题。如果我有一张名为“销售”的表

+----+------------+--------------+
| ID | Date_Sales | Sales_Amount |
+----+------------+--------------+
|  1 | 2015-01-31 |       160000 |
|  2 | 2015-02-28 |       142000 |
|  3 | 2015-03-31 |       430222 |
|  4 | 2015-04-30 |       234000 |
+----+------------+--------------+

还有另一个“佣金表”(要定义的结构),它反射(reflect)了我上面的等级费率表(0-50 000、10%等...)

在 mySQL 中(必要时结合 php)计算 2015 年 1 月正确佣金(应达到 24 500 美元)的最佳方法是什么?

预先感谢您的帮助和建议。

最佳答案

我猜你正在追求这样的东西:

SELECT s.id
     , SUM((s.sales_amount - r.tier_min) * r.dif_rate) x 
  FROM sales s 
  JOIN commission_rates r 
    ON r.tier_min <= s.sales_amount 
 GROUP 
    BY s.id;
+----+----------+
| id | x        |
+----+----------+
|  1 | 24500.00 |
|  2 | 20900.00 |
|  3 | 96566.60 |
|  4 | 41000.00 |
+----+----------+

关于mysql - 将 SUMPRODUCT 滑率佣金计算从 Excel 移植到 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39237863/

相关文章:

mysql - Excel 到 DataTable 导入错误值

excel - 对具有相同值的excel公式值(动态)进行排序

excel - 强制字符串变量为英国日期格式

c# - 从文本框中读取的连接字符串

MySQL:AND 是条件式还是逻辑式?

php - 警告:mysqli_error()需要在register.php文件中给出1个参数0

excel - 选择多个工作簿,将每个工作簿中的第一个选项卡合并到同一工作簿中的新选项卡,使用文件名重命名选项卡

mysql - 按逗号数排序

mysql - rails 无法创建新项目

excel - 删除重复项,保留最后一个条目——优化