【发布时间】:2018-10-10 20:30:15
【问题描述】:
我在 PostgreSQL 数据库中有一个列,它基本上是一个 json 化的 python 元组列表:
[
["Mobile","111-111-1111"],
["Office","222-222-2222"],
["Mobile","333-333-3333"],
["Fax","444-444-4444"],
]
我想构造一个查询,它根据每个嵌套列表中的第一个值返回列表的子集。下面是一个伪查询,希望能说明我所追求的:
SELECT
foo AS bar,
(SELECT
element
FROM
phone_numbers
WHERE
element::json->>0 = "Mobile") AS mobile_numbers
FROM
db
;
mobile_numbers == [["Mobile","111-111-1111"],["Mobile","333-333-3333"]]
我只知道关于 PostgreSQL 中的 json 运算符(以及一般的 SQL 查询)的点点滴滴,主要是在字典方面。我可以在这里找到很多关于如何挖掘嵌套字典并返回一个值的示例,但我没有找到任何与我所追求的完全匹配的东西。
感谢您的帮助。
【问题讨论】:
标签: python json postgresql list jsonb