【发布时间】:2012-03-19 11:40:10
【问题描述】:
我有以下表格(简体):
hours hour_rates
- user_id - user_id
- date - date
- hours - hourly_rate
小时表示例:
1 - 2012-03-19 - 8
这意味着 id=1 的用户在 2012-03-19 总共工作了 8 小时。
一个人的小时费率可以随时间变化,所以我有第二张表:
hour_rates 表示例
1 - 2011-12-01 - 20
1 - 2011-12-20 - 25
所以对于 id=1 的用户,我们在 2011 年 12 月 1 日设置了每小时 20 美元的费率。 我们在 2011 年 12 月 20 日将他的时薪改为 25 美元。
我想要的是,计算在给定时期(例如 2012-01-01 -> 2012-02-01)我必须为给定用户(例如 id=1)支付多少费用。
我可以简单地计算一下mysql端吗? 如果没有,如何有效地做到这一点?
【问题讨论】:
-
你为什么要在 mysql 端这样做——如果你不需要在 mysql 查询中使用结果,你应该在你的代码中进行计算;否则使用存储过程/函数
-
我建议以不同的方式工作,当您输入时,我会在
hours表中添加正在使用的小时费率的 ID,这样可以简化一切。跨度> -
@BenGriffiths 这可能是一个不错的选择。