Есть таблица
timestamp | data
-----------------------------------------------------------------
2017-12-10 10:33:19.563241+00 | {"foo":900}
2017-12-11 10:34:19.563241+00 | {"foo":1800}
2017-12-11 10:35:19.563241+00 | {"foo":1800,"bar":400}
2017-12-11 10:36:19.563241+00 | {"foo":2400,"bar":400}
Из нее надо взять последнее значение столбца data для каждого дня, т.е. чтобы получилось
day | data
--------------------------------------------------------
2017-12-11 00:00:00+00 | {"foo":2400,"bar":400}
2017-12-10 00:00:00+00 | {"foo":900}
Понимаю, что нужно использовать оконные функции, но для типа json нет функции сравнения
т.е для запроса вида
SELECT DISTINCT "timestamp", date_trunc('day', "timestamp") AS "day", FIRST_VALUE("data") OVER (PARTITION BY "timestamp")
FROM "table"
ORDER BY "timestamp" DESC
получаю ошибку
не удалось найти оператор равенства для типа json
Как такое все таки решить?
Система: PostgreSQL 9.5 Win 7