Сканы посылок после watermark

Сканы посылок после watermark

Ты — дата-инженер логистической платформы. Каждую ночь инкрементальный пайплайн забирает свежие сканирования посылок из таблицы parcel_scans и дозагружает их в хранилище. Позиция последней успешной загрузки (watermark) хранится в таблице etl_state — в строке с source_name = 'parcel_scans' (в таблице могут быть строки и других источников). Твоя задача — собрать очередную порцию: сканы, которых пайплайн ещё не видел, то есть со временем строго больше watermark. Сканы с неизвестным временем (scan_time IS NULL) считаются ещё не готовыми и в порцию не входят. Верни столбцы: - scan_id — идентификатор скана; - parcel_code — код посылки; - hub_code — код сортировочного хаба; - scan_time — время скана (timestamp, как в таблице); - status — статус посылки (может быть NULL — выводи как есть). Сортировка: по scan_time по возрастанию, при равенстве времени — по scan_id по возрастанию. Скан с временем, в точности равным watermark, в результат не входит.

Пример ожидаемого ответа

Это пример правильного ответа — у него своё количество строк, оно не должно совпадать с таблицами в схеме. Названия столбцов в твоём ответе должны совпадать с этим примером — переименуй их через AS, если нужно.

scan_idparcel_codehub_codescan_timestatus
8PKG-1006HUB-MUC2025-06-10T12:00:01arrived
9PKG-1003HUB-BER2025-06-10T15:20:00delivered
10PKG-1007HUB-HAM2025-06-10T18:45:00arrived
PostgreSQLv16

Здесь будет результат вашего запроса

Фокус-радио
На паузе · SomaFM · Fluid