Я хочу сохранить последние 20 товаров, которые просматривал пользователь.Если пользователь просматривает продукт с номером 21, самую старую из записей следует удалить из базы данных ORACLE.
Таблица содержит недавно просмотренные продукты всех пользователей в системе.
Таким образом, в основномМне нужно проверить, есть ли у пользователя X записи над Y в таблице, и если это так, удалить самые старые записи, чтобы у пользователя X были только записи Y в таблице недавно просмотренных продуктов.
Любая помощь будет принята.
Вот моя попытка, которая не работает правильно.
DELETE FROM VIEWED_PRODUCT
WHERE id NOT IN (
SELECT id
FROM (
SELECT * FROM (
SELECT id
FROM VIEWED_PRODUCT
WHERE MY_ID = 1626
ORDER BY CREATED_AT DESC )
WHERE ROWNUM <= 20
) z
);
Спасибо.