我想在mysql中实现以下目标。我想将历史表中过去5个月的数据插入到新创建的子表中。 我有3列的历史表(item_code,price,create_date)。使用此历史表我想创建具有4列的新子表(item_code,price,price_start_period,price_end_period)
实施例。历史表:
[Item_code] [price] [create_date] ---------- --------- -----------
101 $ 20 3/1/2013 1PM
101 $ 20 3/1/2013 2PM
101 $ 20 3/1/2013 2.20PM
101 $ 25 3/1/2013 4PM
101 $ 30 3/2/2013 8AM
102 $ 23 3/1/2013 7AM
101 $ 30 3/3/2013 1AM
101 $ 30 3/5/2013 8PM
102 $ 40 3/2/2013 5PM
102 $ 40 3/2/2013 6PM
102 $ 40 3/3/2013 7PM
结果表(使用上述数据的新子表):
[Item_code] [Price] [Price_start_period] [Price_end_period] ---------- ------ ------------------ ---------------- - 101 $ 20 3/1/2013 1PM 3/1/2013 4PM
101 $ 25 3/1/2013 4PM 3/2/2013 8AM
101 $ 30 3/2/2013 8AM null(101当前价格的均值为30 $)
102 $ 23 3/1/2013 7AM 3/2/2013 5PM
102 $ 40 3/2/2013 5PM null
基本上,我想知道item_code的不同价格的间隔是多少。
如何使用mysql创建此结果表?
提前谢谢, - R
答案 0 :(得分:0)
怎么样:
insert into new_table
select item_code, price, min(create_date), max(create_date)
from history_table
group by 1,2