我有一个包含数百行的表格。我想根据 num
列的值取前 20 名,并将 num
替换为数字。
我尝试做的(没有成功)是:
UPDATE table
SET num = 95
WHERE id IN (SELECT id FROM table ORDER BY id DESC LIMIT 20)
有什么建议吗?
最佳答案
不需要子查询 - 你可以 use LIMIT in an UPDATE statement on MySQL :
UPDATE table
SET num = 95
ORDER BY id DESC
LIMIT 20
不清楚您要按什么进行排序 - 我根据您的子查询使用了 id
,但如果它需要按 num
值:
UPDATE table
SET num = 95
ORDER BY num DESC
LIMIT 20
关于sql - 使用 mysql 5.1.41 更新表中最高的几行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292938/