Postgres выбирает все столбцы, но группирует по одному столбцу

У меня есть простая таблица с oid unit_id, временной меткой времени, байтом diag. Первичный ключ - это комбинация времени и 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
12
задан Keyo 30 September 2011 в 05:33
поделиться