Это реляционная таблица в Postgres.
У меня есть таблица, которая постоянно получает записи.Структура такова:
группа |дата_объекта |ключ |event_tmstmp
- где group - уникальный идентификатор группы записей.
- ключ - строка, содержащая дату и время (то есть: 'sometext / some / more / 20190324121233.csv)
- где дата объекта int целой подстроки ключа (указанное выше значение, поэтому 20190324121233)
- , где event_tmstp - это время и дата по умолчанию now () при вставке строки
Что я хочу сделать:
- отсортировать строки по event_tmstmp
- для каждой группы строк, вернуть все строки, которые "не в порядке" в соответствии с object_date
ex:
'group1' | 20190324121233 | 'sometext/some/more/20190324121233.csv' | 2019-09-26 14:57:12.747638
'group1' | 20190324121234 | 'sometext/some/more/20190324121234.csv' | 2019-09-26 14:58:12.747638
'group1' | 20190324121236 | 'sometext/some/more/20190324121236.csv' | 2019-09-26 15:00:12.747638
'group1' | 20190324121235 | 'sometext/some/more/20190324121235.csv' | 2019-09-26 15:01:12.747638
'group1' | 20190324121237 | 'sometext/some/more/20190324121237.csv' | 2019-09-26 15:02:12.747638
'group1' | 20190324121238 | 'sometext/some/more/20190324121238.csv' | 2019-09-26 15:05:12.747638
'group1' | 20190324121241 | 'sometext/some/more/20190324121241.csv' | 2019-09-26 15:06:12.747638
'group1' | 20190324121240 | 'sometext/some/more/20190324121240.csv' | 2019-09-26 15:08:12.747638
Итак, я бы хотел получить следующие строки:
'group1' | 20190324121235 | 'sometext/some/more/20190324121235.csv' | 2019-09-26 15:01:12.747638
'group1' | 20190324121240 | 'sometext/some/more/20190324121240.csv' | 2019-09-26 15:08:12.747638
вот что у меня есть:
SELECT a.*
FROM table_1 AS a
WHERE a.object_date >
( SELECT b.object_date
FROM table_1 AS b
ORDER BY b.event_tmstmp DESC
LIMIT 1
);
, но это возвращает только одну строку, а не для каждого group
.
Я думаю, мне нужен раздел по пунктам, чтобы выполнить это.Я прав?