目前是,存在就更新,不存在就插入新记录
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 2016-06-16 18:54:31 +08:00 via Android
sql 说这让业务层领导想好 我只是个打工的 领导让我做啥我就做啥 可本分了
|
2
9hills 2016-06-16 19:06:06 +08:00 via iPhone
说实话,没看懂
|
3
b821025551b 2016-06-16 19:08:12 +08:00
如果是 mysql ,可以用 REPLACE
|
4
ETiV 2016-06-16 19:47:22 +08:00 1
有意思~
前面都一样,后面: ON DUPLICATE KEY UPDATE num=VALUES(num) + `num`; |
5
popok 2016-06-16 21:49:07 +08:00
id 为 2 的, num 增加了 7 。。。。
我看楼上的应该对了 |
6
icegreen 2016-06-17 00:14:24 +08:00
看了两遍题目, 四楼对了;
为自己的理解能力捉急 |