从上表中, 我将在开始和结束日期之间进行搜索。例如,'2011-12-21'到'2011-12-23'。 从上图中,第5行和第6行将在此日期范围内。即,第5行将包括第21和第22 [2个日期],第6行包含第23个[1个日期]。
所以,我的结果应该是2X300 [即,第5行的利率] + 1X350 [即,第6行的利率]。
即,[950]
请有人帮忙.. 谢谢,
答案 0 :(得分:1)
SELECT
SUM(
IF(DATEDIFF(least(validto, '2011-12-23'),
greatest(validfrom, '2011-12-21')) >= 0,
DATEDIFF(least(validto, '2011-12-23'),
greatest(validfrom, '2011-12-21')) + 1,
NULL) * rateperday
) as total
FROM thedata;