【发布时间】:2020-09-10 00:08:56
【问题描述】:
这是我的 Presto 查询
%jdbc(presto)
select
cast(json_extract(basicmetadata, '$.locales') as array<map<varchar, json>>)
from
escherbird.entities
where
entityid = 1262415487625019394
and domainid = 124
返回这个数组
[{country="IN", hashCode=1828207720, _passthroughFields={}, language="en"}, {country="AU", hashCode=1899888409, _passthroughFields={}, language="en"}, {country="GB", hashCode=-2002878675, _passthroughFields={}, language="en"}, {country="IE", hashCode=-358794848, _passthroughFields={}, language="en"}, {country="CA", hashCode=392726027, _passthroughFields={}, language="en"}, {country="NZ", hashCode=-136386876, _passthroughFields={}, language="en"}, {country="US", hashCode=-1355251774, _passthroughFields={}, language="en"}]
这个查询给了我一个空结果
%jdbc(presto)
select
cast(json_extract(basicmetadata, '$.locales.country') as array<map<varchar, json>>)
from
escherbird.entities
where
entityid = 1262415487625019394
and domainid = 124
如何编写查询以将每个国家/地区作为唯一行返回?
【问题讨论】:
-
请用您正在运行的数据库标记您的问题:mysql、postgresql、oracle...? JSON 函数是高度特定于供应商的。
-
请添加你用来获取这个的sql语句。