我在excel / googlesheet中有一个滑动佣金率计算我试图移植到MYSQL / PHP
我在B3范围内有这个表:E9(excel / google sheet)
+---+----------+-----------+-----------+----------+
| 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)
现在我的问题。如果我有一个名为" Sales"
+----+------------+--------------+
| 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 |
+----+------------+--------------+
另一个"委托表" (要定义的结构),它反映了我上面的等级费率表(0-50 000,10%等等)
在mySQL中最好的方法(如果有必要,可以与php结合使用)来计算2015年1月的正确佣金,该金额应该达到24 500美元?
提前感谢您的帮助和建议。
答案 0 :(得分:1)
我想你是在追求这样的事情:
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 |
+----+----------+