0

我正在尝试在mysql中实现以下目标。我想将历史表中过去 5 个月的数据插入到新创建的子表中。我有 3 列(item_code、price、create_date)的历史表。使用这个历史表我想创建有 4 列的新子表(item_code、price、price_start_period、price_end_period)

前任。历史表:

[商品代码] [价格] [创建日期] ---------- --------- -----------

101 20 美元 2013 年 3 月 1 日下午 1 点

101 20 美元 2013 年 3 月 1 日下午 2 点

101 20 美元 2013 年 3 月 1 日下午 2.20

101 25 美元 2013 年 3 月 1 日下午 4 点

101 30 美元 2013 年 3 月 2 日上午 8 点

102 23 美元 2013 年 3 月 1 日上午 7 点

101 30 美元 2013 年 3 月 3 日凌晨 1 点

101 30 美元 2013 年 3 月 5 日晚上 8 点

102 40 美元 2013 年 3 月 2 日下午 5 点

102 40 美元 2013 年 3 月 2 日下午 6 点

102 40 美元 2013 年 3 月 3 日晚上 7 点

结果表(使用上述数据的新子表):

[Item_code] [Price] [Price_start_period] [Price_end_period] ---------- ------ ------ ---- ------------- 101 $20 2013 年 3 月 1 日下午 1 点 2013 年 3 月 1 日下午 4 点

101 25 美元 2013 年 3 月 1 日下午 4 点 2013 年 3 月 2 日上午 8 点

101 $30 3/2/2013 8AM null(表示 101 当前价格为 30$)

102 23 美元 2013 年 3 月 1 日上午 7 点 2013 年 3 月 2 日下午 5 点

102 40 美元 2013 年 3 月 2 日下午 5 点 空

所以基本上,我想知道 item_code 的不同价格的间隔是多少。

如何使用 mysql 创建这个结果表?

提前谢谢,-R

4

1 回答 1

0

怎么样:

insert into new_table
select item_code, price, min(create_date), max(create_date)
from history_table
group by 1,2
于 2013-06-18T00:29:46.427 回答