基于月和的MySQL查询
该项目是关于一个系统,在该系统中,根据给定的月份,每X分钟的通话,其设定的费率乘以这些通话,将产生佣金 例如: 1-1000分钟=*0.01,如果1000分钟支付10美元,如果更低,则支付同等金额。 1001-2000分钟=*0.02,如果在2000分钟内支付,则支付20美元。。。 2000+分钟=*0.03,所以如果打2500次电话,佣金是75美元 可以为这样的数学设置查询吗?需要考虑到用户将设置不同的搜索时间范围,例如,从1月1日到3月15日 在一月份,如果它是1500分钟,我将不得不显示一个每日报告乘以0.02 2月,如果是4000分钟,我会。。。。每0.03 在三月,如果在查询日期前500分钟,我将。。。0.01基于月和的MySQL查询,mysql,join,Mysql,Join,该项目是关于一个系统,在该系统中,根据给定的月份,每X分钟的通话,其设定的费率乘以这些通话,将产生佣金 例如: 1-1000分钟=*0.01,如果1000分钟支付10美元,如果更低,则支付同等金额。 1001-2000分钟=*0.02,如果在2000分钟内支付,则支付20美元。。。 2000+分钟=*0.03,所以如果打2500次电话,佣金是75美元 可以为这样的数学设置查询吗?需要考虑到用户将设置不同的搜索时间范围,例如,从1月1日到3月15日 在一月份,如果它是1500分钟,我将不得不显示一
它还需要考虑,用户可能会搜索1月1日到15日,即使搜索结果只有500分钟,计算也应该考虑整个月。如果您使用的是mysql,也许您可以这样做
select
mon,
case
when total_time <= 1000
then total_time * 0.01
when total_time > 1000
and total_time <= 2000
then total_time * 0.02
when total_time > 2000
then total_time * 0.03
end case as pay
from
(select
sum(minutes) total_time,
extract(month from date) mon
from
calls
group by
extract(month from date)
)
这些是分层的吗?也就是说,你在前1000分钟支付0.01美元,在第二个1000分钟支付0.02美元,等等。或者,这是否意味着如果你有1400分钟,你将为所有1400分钟支付0.02美元。此外,你能提供你的DDL吗?你将为所有1400分钟支付0.02美元。谢谢,表的结构很简单。id |日期|分钟|用户id,谢谢。