我正在寻找一个MySQL查询,它可以让我查看产品的历史价格变化,以便稍后在图表上显示 - 基于日期范围。
例如:
Select * from HistoryPrices
where StartDate>='1-1-2016' and EndDate<='1-20-2016'
where ProductID=505
这很好。这是它变得更有趣的地方。
如果1-1-2016
不包含任何产品价格变化,我需要提取过去最近的1-1-2016
日期,并在结果中填写1-1-2016
。
让我们说12-25-2015
是最接近的价格变动日期。
示例:
表格如下:
Date Price
12-25-2015 44.5
1-3-2016 50.5
1-4-2016 45.6
1-10-2016 40.99
1-15-2016 50.50
1-22-2016 50.99
MySQL查询结果应如下(从1-1-2016到1-20-2016):
1-1-2016 44.5
1-3-2016 50.5
1-4-2016 45.6
1-10-2016 40.99
1-15-2016 50.50
1-1-2016
的通知价格为12-15-2015
价格。
寻找可以实现此结果的MySQL查询。
答案 0 :(得分:1)
试试这个样本日期:
select *
from HistoryPrices
where `Date` >= date('2016-01-01') and `Date` <= date('2016-01-20')
union (
select '2016-01-01', Price
from HistoryPrices
where `Date` <= date('2016-01-01')
order by `date` desc
limit 1
)
order by `date`