Вы не можете сделать это в одном запросе с MySQL.Он не позволяет вам обновлять таблицу, одновременно выполняя выборку для таблицы.Однако, если бы это было так, то запрос был бы
UPDATE Advert_images
SET (main = 1)
WHERE (image_id IN (
SELECT min(image_id)
FROM Advert_images
GROUP BY advert_id
));
Ничто не говорит о том, что вы не можете сделать это в два этапа с помощью внешнего скрипта.Запустите внутренний запрос, чтобы получить идентификаторы «самых низких» изображений, затем выполните отдельный запрос на обновление, чтобы изменить значения основного поля.