gpt4 book ai didi

postgresql - 如何从 PostgreSQL 的 JSONB 列中的数组中删除重复项?

转载 作者:行者123 更新时间:2023-12-02 00:03:41 29 4
gpt4 key购买 nike

我在 PostgresQL 中有 JSONB 列,如下所示,我想删除重复项

 {
"other": null,
"values": [
"REDUCE_STRESS",
"LOSE_WEIGHT",
"INCREASE_ACTIVITY",
"EAT_HEALTHIER",
"IMPROVE_SLEEP",
"EAT_HEALTHIER",
"INCREASE_ENERGY"
]
}

最佳答案

最简单的事情是创建一个函数:

create function remove_dupes(p_array jsonb) 
returns jsonb
as
$$
select jsonb_agg(distinct e)
from jsonb_array_elements(p_array) as t(e);
$$
language sql;

然后您可以在 UPDATE 语句中使用它:

update the_table
set the_column = jsonb_set(the_column, '{values}', remove_dupes(the_column -> 'values'))
where ...

关于postgresql - 如何从 PostgreSQL 的 JSONB 列中的数组中删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61350095/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com