如何在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
(完),;

听起来像是一份声明的工作。他们在比赛中停止,所以你不必担心重复更新同一记录。谢谢你的帮助。