我正在尝试做一个更新查询,它将对5个用户的rewards_balance
按购买日期排序求和。
用户
表为:
id rewards_balance
1 0
2 20
3 0
4 23
5 11
6 45
7 1
8 0
9 0
10 10
这是我的订阅
表
payer_id created
1 1616137161
2 1616137165
5 1616137166
7 1616137167
3 1616137168
4 1616137169
9 1616137175
更新查询应该以这样的方式工作,它将添加一个设置的数量到5个用户谁已经有了订阅在先。因此更新后的输出应该如下所示
id rewards_balance
1 0+20
2 20+20
3 0+20
4 23
5 11+20
6 45
7 1+20
8 0
9 0
10 10
因此,如您所见,这20只添加到那些首先订阅的ID中。
到目前为止我所尝试的是:
UPDATE users u LEFT JOIN subscription m ON u.id = m.payer_id SET u.rewards_balance = u.rewards_balance+20
ORDER BY `m`.`created` ASC LIMIT 10
我一直得到以下错误。
查询错误:UPDATE和ORDER By
的用法不正确
请协助。
多表更新中不允许使用Order By
和Limit
。请参阅文档。