У меня есть таблица для timeTracks со свойствами startTime и stopTime, которые записаны для другой таблицы с именем project.
Со следующими агрегатами мне удалось отобразить количество и сумму количества дорожек, которые принадлежатпроект.Если существует активный трек (один без stopTime), я хочу 2 дополнительных столбца с именами «activeTrackId» и «activeTrackStartTime».
SLECT
count(time_track."timeTrackId") AS "timeTracksTotalCount",
floor(date_part('epoch'::text, sum(time_track."stopTime" - time_track."startTime")))::integer AS "timeTracksTotalDurationInSeconds"
activeTimeTrackId ??
activeTimeTrackStartTime ??
...
FROM project
LEFT JOIN time_track on time_track."fkProjectId" = project."projectId"
Технически может быть только один активный трек одновременно.Однако на всякий случай следует выбирать только последний активный трек, если есть два трека без stopTime.
Как это можно сделать в postgres?