Я пытаюсь создать Json-формат из запроса postgresql.Форматирование таблицы JSON из запроса Postgresql
Во-первых, я использовал Rails, чтобы запросить мою базу данных в блоке моего контроллера в format.json, а затем использовали json.builder файл форматировать вид JSon. Он работал до тех пор, пока мои запросы не возвратят сотни тысяч строк, поэтому я искал, как оптимизировать создание json, избегая всего стека ActiveRecord.
Для этого я использую Postgresql 9.6 функции JSon получить непосредственно мои данные в нужном формате, который, например:
SELECT array_to_json('{{1157241840,-1.95},{1157241960,-1.96}}'::float[]);
[[1157241840, -1.95], [1157241960, -1.96]]
Но используя данные такого рода запроса:
SELECT date,value FROM measures;
лучшее, что я мог бы получить что-то вроде этого:
SELECT array_to_json(array_agg(t)) FROM (SELECT date,value FROM measures) t;
Результирующее в:
[
{"date":"1997-06-13T19:12:00","value":1608.4},
{"date":"1997-06-13T19:12:00","value":-0.6}
]
, который совсем другой ... Как бы вы построили этот запрос SQL?
Спасибо за помощь!
Мои меры таблица выглядит следующим образом:
id | value | created_at | updated_at | parameter_id | quality_id | station_id | date | campain_id | elevation | sensor_id | comment_id
--------+-------+----------------------------+----------------------------+--------------+------------+------------+---------------------+------------+-----------+-----------+------------
799634 | -1.99 | 2017-02-21 09:41:09.062795 | 2017-02-21 09:41:09.118807 | 2 | | 1 | 2006-06-26 23:24:00 | 1 | -5.0 | |
1227314 | -1.59 | 2017-02-21 09:44:12.032576 | 2017-02-21 09:44:12.088311 | 2 | | 1 | 2006-11-30 19:48:00 | 1 | -5.0 | |
1227315 | 26.65 | 2017-02-21 09:44:12.032576 | 2017-02-21 09:44:12.088311 | 3 | | 1 | 2006-11-30 19:48:00 | 1 | -5.0 | |
показать образец мер .. –
'id | стоимость | created_at | updated_at | parameter_id | quality_id | station_id | дата | campain_id | высота | sensor_id | comment_id 799634 | -1,99 | 2017-02-21 09: 41: 09.062795 | 2017-02-21 09: 41: 09.118807 | 2 | | 1 | 2006-06-26 23:24:00 | 1 | -5,0 | | ' –
Извините за плохой отступ, я не нашел, как разбить строку в комментариях. Заголовок меры останавливается на «comment_id», и образец начинается с 799634. –