У меня есть такие документы
{"name":"Name_29","date":"2017-04-26","id":"ID_0","version":1}
И я пытаюсь получить последнюю версию документа до указанной даты. (версия перезапускается с нуля на каждую дату).
Я пытаюсь выполнить такой запрос
SELECT *
FROM docs
WHERE date <= '2018-02-03'
AND id = 'x'
ORDER by date DESC, version DESC
LIMIT 1
Но для всего диапазона имени.
SELECT RAW ARRAY_AGG({'name':name, 'id' : id ,'version' : version, 'date' : date})
FROM doc
WHERE date <= '2017-02-27'
AND name = 'NAME_02'
GROUP BY id
Но я изо всех сил пытаюсь извлечь версию массива с наибольшей датой.
Есть ли хорошая и эффективная практика для этого?