我有一个表格,记录了每种成本价、单价和特价商品的所有价格变化。该表记录数据,即使其中一个定价与旧定价不同。表格结构示例如下所示。
id | item_id | cost_price | unit_price | special_price | created_date
---------------------------------------------------------------------------
1 | 101 | 100 | NULL | NULL | 2018-07-15 10:02:20
2 | 102 | NULL | 250 | NULL | 2018-07-16 12:23:00
3 | 101 | NULL | 150 | NULL | 2018-07-16 10:02:20
4 | 101 | NULL | 200 | NULL | 2018-07-18 12:23:00
5 | 101 | NULL | 201 | NULL | 2018-07-22 10:02:20
6 | 102 | NULL | 283 | NULL | 2018-07-28 12:23:00
我想从上表(日期为2018年7月13日)得到上个月的以下输出
item_id | unit_price | changed_date
-----------------------------------------
101 | 201 | 2018-07-22 10:02:20
101 | 200 | 2018-07-18 12:23:00
102 | 283 | 2018-07-28 12:23:00
我需要上面的输出,它只显示最后两个变化发生在单价。
2条答案
按热度按时间5f0d552i1#
这似乎很复杂:
jv2fixgn2#
对于每个项目,最多需要最后两个更改。在mysql(v8之前)中,可以使用变量: