2011-09-02 74 views
0

該項目是關於一個系統,其中每個X分鐘的呼叫基於給定的月份設置一個速率乘以這些呼叫導致佣金支付。基於每月SUM的MySQL查詢

例如: 1 - 1000分鐘= * 0.01如果1000分鐘或等同於1000分鐘,則產生10美元的支付。 2001至00年=分鐘0.02 *導致$ 20的工資,如果發2000mins ... 2000+分鐘= * 0.03,因此,如果在調用發出2500年,佣金爲$ 75

是否有可能設置一個查詢這樣的數學?需要考慮用戶將設置不同的時間範圍進行搜索,例如從1到1月到3月15日。

1月,如果有人1500mins,我將不得不顯示的每日報告每0.02 乘以2月,如果有人4000min,我會....每0.03 在MAR,如果它被做500min直到查詢日期,我會... 0.01

它還需要考慮,用戶可能會搜索1月15日,即使只有500分鐘,整個月應採取考慮計算。

+0

這些分層?也就是說,您在前1000分鐘內支付0.01美元,第二個1000分鐘內支付0.02美元等等。或者,這是否意味着如果您有1400分鐘,則您將支付全部1400美元的0.02美元。 – JeffIB

+0

另外,您是否可以提供DDL? – JeffIB

+0

您將支付所有1400的0.02。謝謝 – Henrique

回答

0

如果你使用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) 
    )