У меня есть простая таблица с идентификатором unit_id, меткой времени, байтой диаграммы.Первичный ключ представляет собой сочетание времени и unit_id.
Идея этого запроса состоит в том, чтобы получить самую последнюю строку (наибольшую метку времени) для каждого уникального unit_id.Однако строки для каждого unit_id с самым последним временем не всегда возвращаются.
Я действительно хочу сгруппировать только по unit_id, но postgres заставляет меня также использовать diag, так как я выбираю это.
SELECT DISTINCT ON(unit_id) max(time) as time, diag, unit_id
FROM diagnostics.unit_diag_history
GROUP BY unit_id, diag