如何在MySQL中一次查询两次更新?
有这样一张桌子:如何在MySQL中一次查询两次更新?,mysql,Mysql,有这样一张桌子: +----+-------+ | id | Value | +----+-------+ | 1 | 1000 | | 2 | 1500 | | 3 | 1250 | | 4 | 2000 | | 5 | 1800 | +----+-------+ 例如,在一次查询中,当添加小于1600的x%和大于此值的y%时,如何更新列“值”?可能吗 我无法首先更新最低值,因为最终某些值可能会超过1600的范围。这样,当我更新了最大值时,可以在已经收到增加值的值中执行此
+----+-------+
| id | Value |
+----+-------+
| 1 | 1000 |
| 2 | 1500 |
| 3 | 1250 |
| 4 | 2000 |
| 5 | 1800 |
+----+-------+
例如,在一次查询中,当添加小于1600的x%和大于此值的y%时,如何更新列“值”?可能吗
我无法首先更新最低值,因为最终某些值可能会超过1600的范围。这样,当我更新了最大值时,可以在已经收到增加值的值中执行此操作。您可以使用
case
语句:
update table t
set value = value * (case when value < 1600 then 1 + x
when value > 1600 the 1 + y
else 1
end);
更新表t
设置值=值*(值小于1600时为1+x
当值>1600时,1+y
其他1
(完),;
听起来像是一份声明的工作。他们在比赛中停止,所以你不必担心重复更新同一记录。谢谢你的帮助。