PostgreSQL中将structure-01行的坐标数组转换为坐标表的查询实现
针对public.market_data表中structure-01行的坐标数组转换查询
直接基于你提供的现有查询修改即可,只需要调整WHERE条件里的attribute值为structure-01,就能实现把对应行的二维坐标数组拆分成x、y列的表格:
SELECT jsonb_array_elements->>0 AS x, jsonb_array_elements->>1 AS y FROM ( SELECT jsonb_array_elements(to_jsonb(value::text[])) FROM public.market_data WHERE "attribute" = 'structure-01' -- 调整为目标attribute值 ) AS subquery
代码说明:
- 精准定位目标行:通过
WHERE "attribute" = 'structure-01'筛选出需要处理的记录 - 格式转换:将存储为text类型的
value字段先转为text数组,再转为jsonb数组格式,方便后续拆分 - 数组展开:用
jsonb_array_elements把外层数组拆分为独立的坐标子数组 - 提取坐标值:从每个子数组中分别提取第0位作为x列数据,第1位作为y列数据
内容的提问来源于stack exchange,提问作者Neurobion
相关产品推荐
相关产品推荐

