mysql查询获取日期之间的范围而不是表

时间:2014-02-28 16:53:55

标签: mysql

我有这样的付款表信息

ID Costumer | start_pay  | Payment
1           | 2014-01-01 | 1.500
2           | 2013-12-01 | 900

他们每个月必须支付的信息,我想在start_pay到CURDATE之间的范围内计算

如果CURDATE2014-03-01(Y-m-d)我想要的结果

ID Costumer | start_pay  | Payment | total_to_pay | month_count 
1           | 2014-01-01 | 1.500   | 4.500        | 3
2           | 2013-12-01 | 900     | 3.600        | 4

我能用mysql查询吗?

2 个答案:

答案 0 :(得分:1)

尝试

SELECT *,TIMESTAMPDIFF(MONTH, DATE_SUB(start_pay,INTERVAL 1 MONTH), CURDATE()) AS 
month_count,Payment * month_count AS total_to_pay FROM TABLE

请注意,如果差异小于一个月,则输出0

答案 1 :(得分:0)

PERIOD_DIFF基本上用于此类计算:

SELECT PERIOD_DIFF(DATE_FORMAT(CURDATE(),'%Y%m'), DATE_FORMAT(start_pay, '%Y%m')) from your table;