目前是,存在就更新,不存在就插入新记录
INSERT INTO abc(id,num,tm)VALUES(1,7,1),(2,8,1) ON DUPLICATE KEY UPDATE num=VALUES(num)
但是这样,每次执行,就需要把所有的原始数据读一遍
如果做增量更新,应该怎么做呢?
比如:
11:00
id num tm
1 2 06-16
2 1 06-16
12:00
id num tm
1 7 06-16
2 8 06-16
那么, 12 点相对于 11 点的时候, id 为 1 的记录, num 增加了 5 , id 为 2 的, num 增加了 6 。 SQL 怎样写,才能让 id 为 1 的 num 增加 5 , id 为 2 的 num 增加 6 ,同时,满足,存在就更新,不存在就插入的条件?
1
zeraba Jun 16, 2016 via Android
sql 说这让业务层领导想好 我只是个打工的 领导让我做啥我就做啥 可本分了
|
2
9hills Jun 16, 2016 via iPhone
说实话,没看懂
|
3
b821025551b Jun 16, 2016
如果是 mysql ,可以用 REPLACE
|
4
ETiV Jun 16, 2016 有意思~
前面都一样,后面: ON DUPLICATE KEY UPDATE num=VALUES(num) + `num`; |
5
popok Jun 16, 2016
id 为 2 的, num 增加了 7 。。。。
我看楼上的应该对了 |
6
icegreen Jun 17, 2016
看了两遍题目, 四楼对了;
为自己的理解能力捉急 |