一尘不染

更新具有一个字段的当前最高(最大值)值的行

sql

我有此sql查询,这是错误的。我想更新wins表中的字段“ prevmonth”,但仅更新具有字段“ month_wins”的最大值的记录。

UPDATE wins 
SET prevmonth_top=1 
WHERE month_wins = (SELECT MAX(month_wins) FROM wins)

但是我该怎么办呢?


阅读 127

收藏
2021-05-30

共1个答案

一尘不染

试试这个技巧

UPDATE wins
SET prevmonth_top=1 
ORDER BY month_wins DESC
LIMIT 1

或类似的东西,

UPDATE IGNORE giveaways 
SET winner = 1 
WHERE month_wins = (select maxID from (SELECT MAX(ID) maxID FROM giveaways) as t)
2021-05-30