Prova den här:
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;
Den använder DISTINCT ON
för att bara behålla den första raden för varje kombination av hive
och dag. För att säkerställa att den första raden som vi behåller också är den senaste sorterar vi dessutom i omvänd kronologisk ordning.