Ben bir birim_id oid, zaman zaman damgası, diag bytea ile basit bir tablo var. Birincil anahtar hem zaman hem de unit_id birleşimidir.Tüm sütunları seçer ama bir sütuna göre gruplandır
Bu sorgunun arkasındaki fikir, her benzersiz birim_id için en son satırı (en büyük zaman damgası) almaktır. Ancak her bir unit_id için son zamanların satırları her zaman iade edilmez.
Gerçekten sadece unit_id ile gruplamak istiyorum, ancak postgres bunu seçmemi de, diag da kullanmamı sağlıyor.
SELECT DISTINCT ON(unit_id) max(time) as time, diag, unit_id
FROM diagnostics.unit_diag_history
GROUP BY unit_id, diag
Alt seçim kullanmadan bunu yapabilir miyiz? – metdos
@metdos: Kafamın üstünde bir şey düşünemiyorum ama bir yolu olabilir. Türetilmiş tablolarda sorun nedir? –