У меня есть таблица, в которой я пытаюсь обновить столбец.Дело в том, что есть 40 записей, в которых я заказываю по удару.Затем я хочу взять топ-10 из них (в зависимости от их влияния) и обновить их
UPDATE mytable
SET status = 'red'
WHERE status IN
(
SELECT status
FROM (
SELECT *
FROM mytable
WHERE status = 'green'
ORDER BY impact DESC
)
)
AND ROWNUM <= 10
Я попытался поместить ROWNUM в оператор WHERE IN, но он просто проигнорирует его и обновит все 40 записей.Когда я делаю это так, как у меня выше, он выбирает 10, но он не выбирает 10 лучших, он просто выбирает их случайным образом.Я предполагаю, что он игнорирует влияние ORDER BY.
Я пытался найти похожую проблему, но ничего не могу найти.Любая помощь высоко ценится!