【问题标题】:handle JSON object in Presto/Trino在 Presto/Trino 中处理 JSON 对象
【发布时间】:2022-10-07 03:45:18
【问题描述】:

我的一列中有这样的 JSON 数据 {\"foo\": 1, \"bar\": 2} {\"foo\": 1} 我想运行一个返回唯一点键 [\"foo\"] 的查询

{\"foo\":1}

  • 您的 JSON 列的数据类型是什么? select typeof(<json column>) from table 会给你这个,你可以在你的问题中更新它。
  • 我的数据类型是行(provinceId bigint,provinceId bigint,provinceId bigint,province varchar,cityId bigint,city varchar,countyId bigint,county varchar,address varchar),然后我只想保留provinceId和cityId,我真正的想法是让结果按cityId分组
  • 如果列是地址:{\"provinceId\":100, \"cityId\":110, contryId:111} 我想按provinceId和cityId分组,结果是地址:{\"provinceId\":100, \"城市标识\":110}
  • 请更新您的问题实际 JSON 匹配您共享的架构和用于创建表的 DDL 以更好地帮助您

标签: sql presto trino


【解决方案1】:

来自 cmets:

我的数据类型是row(provinceId bigint, province varchar, cityId bigint, city varchar, countyId bigint, county varchar, address varchar)

那么您的数据不是 json,它是 ROW 类型,它允许按名称访问字段,即在您的情况下类似于:

select my_column.provinceId, my_column.cityId
from my_table

【讨论】:

  • 谢谢,我的问题不清楚,行类型有很多键,我想保留指定键
  • @dapisces,您可以创建一个新行,只选择需要的键。
猜你喜欢
  • 2021-08-12
  • 2022-10-04
  • 2021-10-09
  • 2023-01-26
  • 2015-12-23
  • 2020-01-08
  • 2019-03-18
  • 2015-12-11
  • 1970-01-01
相关资源
最近更新 更多