Zkuste toto:
SELECT
DISTINCT ON (hive, moment)
*, DATE_TRUNC('day', instant AT TIME ZONE 'pst') AS moment
FROM dt_weight
ORDER BY hive, moment DESC, instant DESC;
Používá DISTINCT ON
zachovat pouze první řádek pro každou kombinaci hive
a den. Abychom se ujistili, že první řádek, který uchováváme, je také nejnovější, navíc třídíme v obráceném chronologickém pořadí.