这就是我现在所拥有的
SELECT json_build_object(concat(name, r_id),
json_agg(json_build_array(value,created_at) ORDER BY created_at ASC))
FROM data
group by concat(name, r_id);
这返回的是3行数据,我需要它们与散列
在同一行GOT:
第1行:{"Name1" : [["70.2", "2018-02-19T16:26:08.857134"], ["69.93", "2018-02-19T16:26:16.568789"]}
第2行:{"Name2" : [["70.2", "2018-02-19T16:26:08.857134"], ["69.93", "2018-02-19T16:26:16.568789"]}
第3行:{"NewName1" : [["70.2", "2018-02-19T16:26:08.857134"], ["69.93", "2018-02-19T16:26:16.568789"]}
预期
{
"Name1": [
["70.2", "2018-02-19T16:26:08.857134"],
["69.93", "2018-02-19T16:26:16.568789"]
],
"Name2": [
["70.2", "2018-02-19T16:26:08.857134"],
["69.93", "2018-02-19T16:26:16.568789"]
],
"NewName1": [
["70.2", "2018-02-19T16:26:08.857134"],
["69.93", "2018-02-19T16:26:16.568789"]
]
}
这是一个使用此示例http://sqlfiddle.com/#!17/0b10d/1
的sqlfiddle答案 0 :(得分:1)
使用聚合函数json_object_agg():
select json_object_agg(name, details)
from (
select concat(name, r_id) as name,
json_agg(json_build_array(value,created_at) order by created_at asc) as details
from data
group by concat(name, r_id)
) s