【发布时间】:2018-08-14 04:45:18
【问题描述】:
我有一张表格,记录了每个 cost_price、unit_price 和 special_price 上商品的所有价格变化。即使其中一种定价从旧定价改变,该表也会记录数据。表结构示例如下。
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
我想从上个月的表格(日期为 13-07-2018)中获得以下输出
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
我需要上面的输出,它只显示 unit_price 中发生的最后两个变化。
【问题讨论】:
-
Mysql版本?
-
这未能解决问题的哪一部分:
select * from my_table order by changed_date desc limit 3? -
@skelwa mysql 5.6版
-
@Strawberry Query 只需要获取上个月内最近 2 次不同的 unit_price 变化。
-
你的主键是什么?
标签: mysql sql query-optimization