【发布时间】:2015-02-06 17:05:25
【问题描述】:
我有一个表,其中有一列 JSON 数据,我想从中提取信息。具体来说,我只想得到平均值。
我所拥有的示例:
id speed_data
391982 [{"speed":1.3,"speed":1.3,"speed":1.4,"speed":1.5...
391983 [{"speed":0.9,"speed":0.8,"speed":0.8,"speed":1.0...
我想要的示例:
id speed_data
391982 1.375
391982 0.875
关于如何使这个查询起作用的任何建议?
select t.*, avg(x.speed)
from tbl t,
json_array_elements(a->'speed') x
order by random()
limit 1
【问题讨论】:
-
你得到了什么结果?您的值是否正在转换为整数?
-
您将无法执行此操作。你有语义上无效的 json:在一个 json 对象中,每个键只能出现一次;此 json 在语法上是有效的,但只有最后一对(带有键
"speed")会在结果中看到(解析后)。
标签: sql json postgresql types aggregate-functions