我想從postgresql請求創建Json格式。從Postgresql請求格式化JSON表
首先我已經使用的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. –