问题描述
数据是 jsonb 列类型
json:
{
"cart_id": "84e646d6a22a","contacts": {
"customer": {
"email": "dd@aaaaa.com","name": "Name","phone": "1234567"
},"receiver": {
"is_customer": true,"name": "AAAA,"phone": "99999"
}
}
}
查询:
SELECT id FROM shop_order
WHERE data->'contacts'->'customer'->>'phone' like '%12345%' limit 3 offset 3
好。它是成功返回过滤器的结果。返回3条记录。很好。
但是我需要将结果作为json。
我尝试这个:
select json_agg (json_build_object('data',t.data)) from shop_order as t
WHERE t.data->'contacts'->'customer'->>'phone' LIKE '%12345%' LIMIT 3 offset 3
我需要返回限制和偏移量为3的返回结果
但是返回空结果。
为什么?
P.S。 此查询:
select json_agg (json_build_object('data',t.data)) from shop_order as t
从db返回所有记录。但是我在ARRAY中只需要3个json对象。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)