![](/img/trans.png)
[英]select query in postgresql with jsonb column is not working in jpa
[英]select query for >= jsonb column value in postgresql
我有一个在表中具有jsonb
格式列tags
的postgres数据库。 我正在尝试查询confidence >= 50
。
我不确定如何索引到预测列表中以检查置信度。 我试过下面的查询,执行没有错误,但不返回任何行。
select * from mytable where (tags->>'confidence')::int >= 50;
这是一个示例行jsonb
{
"predictions": [
{
"label": "Shopping",
"confidence": 91
},
{
"label": "Entertainment",
"confidence": 4
},
{
"label": "Events",
"confidence": 2
}
]
}
您需要通过取消嵌套数组来标准化数据,然后可以
select p.d
from mytable mt
cross join lateral jsonb_array_elements(mt.tags -> 'predictions') as p(d)
where (p.d ->> 'confidence')::int >= 50;
对于上述示例数据,将返回:
{"label": "Shopping", "confidence": 91}
在线示例: http : //rextester.com/CBIAR76462
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.