2016-11-26 129 views
0

我在这里有四列:date,value, ratio,id。我想用相同的ID将比率值设置为今天的值/昨天的值,我怎么能在一个mysql语句中做到这一点?更进一步,如果日期是最早的,设定的比例为1Mysql,更新多记录列

+0

这是基本查询更新多条记录更新表名 SET column-name = value,column-name = value,... WHERE条件,现在问题是你想要做什么.... –

+0

我不太熟悉与MySQL,所以我添加一个colunm来存储昨天的价值,然后尝试更新集,但我想知道这是否可以在一个步骤 – blamezdn

回答

0

如何:

UPDATE table1 a 
LEFT JOIN table1 b ON b.id = a.id AND b.`date` = DATE_SUB(a.`date`, INTERVAL 1 DAY) 
SET ratio = IIF(b.`value` IS NULL, 1, a.`value`/b.`value`) 
; 

注意,这将取代整个表格比...