Прежде всего, извинения за ужасный титул Я не мог придумать лучшего способа сформулировать мою проблему. (Не стесняйтесь предлагать лучшие альтернативы)MySQL UPDATE - выборочное обновление
В принципе у меня есть стол со столбцом «count». Я хочу сбросить все значения до нуля, за исключением 10 строк с верхними значениями. Я хочу, чтобы они были сброшены на 0.
Как достичь этого без написания нескольких запросов?
Update У меня есть запрос, как следующий в настоящее время
UPDATE covers AS t1
LEFT JOIN (SELECT t.cover_id
FROM covers t
ORDER BY t.cover_views DESC
LIMIT 10) AS t2 ON t2.id = t.id
SET cover_views = 0
WHERE t2.id IS NULL
я получаю ошибку #1054 - Unknown column 't2.id' in 'where clause'
- любая идея, почему?
Я также попытался следующие с тем же результатом
UPDATE covers t1
LEFT JOIN (SELECT t.cover_id
FROM covers t
ORDER BY t.cover_views DESC
LIMIT 10) t2 ON t2.id = t.id
SET t1.cover_views = 0
WHERE t2.id IS NULL
Есть ли столбец идентификатора или столбца первичного ключа? – MikeTWebb
Yup, первичный ключ – Chris
@ Крис ... похоже, что @Wadhi ответил на это уже. – MikeTWebb