mysql 我怎么能减去两个不同的值从同一列在不同的行?

lzfw57am  于 2023-04-19  发布在  Mysql
关注(0)|答案(1)|浏览(117)

我试图在Mysql中创建一个update语句,我需要从两行的两列中减去两个不同的值。

UPDATE `posts` 
SET `calc` = calc - 1 
WHERE `id` IN (1, 2);

这样就可以了,但是只需要减去一个值,我需要减去两个不同的值,类似这样:

UPDATE `posts` 
SET `calc` = calc - (1, 2) 
WHERE `id` in (1,2);
  • id = 1时,从calc中减去1
  • id = 2时,从calc中减去2

谢谢。

t2a7ltrp

t2a7ltrp1#

这是一个例子还是一个真实的案例?你可以用一个CASE语句来解决这个案例:
可以使用CASE语句来实现这一点:

UPDATE `posts` SET `calc` = 
    CASE 
        WHEN `id` = 1 THEN `calc` - 1
        WHEN `id` = 2 THEN `calc` - 2
    END
WHERE `id` in (1, 2);

相关问题