SQL根据连续日期更改值,按值分组

时间:2012-05-03 00:53:59

标签: mysql sql join

我希望每天都能获得Price的变化。什么SQL查询将实现此目的?

原始表

Date       Company    Price
---------------------------
1/4/2012   Apple      458
1/3/2012   Apple      462
1/2/2012   Apple      451
1/1/2012   Apple      450

1/4/2012   Google     553
1/3/2012   Google     541
1/2/2012   Google     535
1/1/2012   Google     531

所需表

Date       Company    Price   Day_Change
-------------------------------------
1/4/2012   Apple      458     -4    
1/3/2012   Apple      462     9
1/2/2012   Apple      451     1
1/1/2012   Apple      450     NULL

1/4/2012   Google     553     13
1/3/2012   Google     541     6
1/2/2012   Google     535     4
1/1/2012   Google     531     NULL

1 个答案:

答案 0 :(得分:1)

前一天加入桌子和公司

SELECT t1.price-t2.price FROM
Table t1
INNER JOIN Table t2 on date_add(t1.date,INTERVAL 1 DAY) =t2.date  
       AND t1.company=t2.company