如何使用嵌套列表删除jsonb列上的重复项

时间:2019-07-29 09:34:05

标签: postgresql jsonb

我正在尝试从jsonb列中删除数据的重复项

我的表有3列,第1列是为id自动生成的,第1列是针对source_id的,第3列是针对jsonb数据的

数据:

id | source_id | column_3
---+-----------+-------------------------------------------
1  | 1         | [
   |           |   [
   |           |     {"header": "name","value": "mike"},
   |           |     {"header": "age","value": "23"}
   |           |   ], [
   |           |     {"header": "name","value": "may"},
   |           |     {"header": "age","value": "19"}
   |           |   ]
   |           | ]
---+-----------+-------------------------------------------
2  | 1         | [
   |           |   [
   |           |     {"header": "name","value": "mike"},
   |           |     {"header": "age","value": "23"}
   |           |   ], [
   |           |     {"header": "name","value": "jay"},
   |           |     {"header": "age","value": "19"}
   |           |   ]
   |           | ]
---+-----------+-------------------------------------------
3  | 2         | [
   |           |   [
   |           |     {"header": "name","value": "mike"},
   |           |     {"header": "age","value": "23"}
   |           |   ], [
   |           |     {"header": "name","value": "ben"},
   |           |     {"header": "age","value": "26"}
   |           |   ]
   |           | ]

需要删除同一source_id上​​的重复数据

预期结果:

id  | source_id | column_3
----+-----------+-------------------------------------------
1   | 1         | [
    |           |   [
    |           |     {"header": "name","value": "mike"},
    |           |     {"header": "age","value": "23"}
    |           |   ], [
    |           |     {"header": "name","value": "may"},
    |           |     {"header": "age","value": "19"}
    |           |   ]
    |           | ]
----+-----------+-------------------------------------------
2   | 1         | [
    |           |   [
    |           |     {"header": "name","value": "jay"},
    |           |     {"header": "age","value": "19"}
    |           |   ]
    |           | ]
----+-----------+-------------------------------------------
3   | 2         | [
    |           |   [
    |           |     {"header": "name","value": "mike"},
    |           |     {"header": "age","value": "23"}
    |           |   ], [
    |           |     {"header": "name","value": "ben"},
    |           |     {"header": "age","value": "26"}
    |           |   ]
    |           | ]

0 个答案:

没有答案