Имеется простая таблица lieu_horaire с:
+ id_horaire (numeric)
+ id_lieu (numeric)
+ horaire (timestamp)
В данный момент следующий запрос работает нормально:
DELETE FROM lieu_horaire where id_horaire IN (
SELECT id_horaire "+
FROM (
SELECT id_horaire,
ROW_NUMBER() OVER (PARTITION BY id_lieu order by horaire desc) AS line_number
FROM lieu_horaire
) as sr
WHERE sr.line_number > 10);
Но из-за масштабируемости я бы хотел заменить предложение IN на EXISTS '... WHERE EXISTS(... '
. Но с существует, вместо удаления правильных строк, он удаляет все строки, как если бы выражение '... WHERE sr.line_number...'
не присутствовало.