数组 – 如何使用postgres获取不同的数组元素?

数组 – 如何使用postgres获取不同的数组元素?,第1张

概述我在postgres中有一个重复值的数组.例如: SELECT cardinality(string_to_array('1,2,3,4,4', ',')::int[]) as foo=> "foo"=>"5" 我想获得独特的元素,例如: SELECT cardinality(uniq(string_to_array('1,2,3,4,4', ',')::int[])) as foo=> -- 我在postgres中有一个重复值的数组.例如:

SELECT cardinality(string_to_array('1,2,3,4,4',',')::int[]) as foo=> "foo"=>"5"

我想获得独特的元素,例如:

SELECT cardinality(uniq(string_to_array('1,')::int[])) as foo=> -- No function matches the given name and argument types. You might need to add explicit type casts.

我可以在不使用UNnesT的情况下获得postgres中数组的唯一元素吗?

解决方法 对于整数数组,使用 intarray extension:

create extension if not exists intarray;SELECT cardinality(uniq(string_to_array('1,')::int[])) as foo

或功能

create or replace function public.array_unique(arr anyarray)    returns anyarray    language sqlas $function$    select array_agg(distinct a)    from (        select unnest(arr) a     ) alias$function$;

对于任何阵列.

总结

以上是内存溢出为你收集整理的数组 – 如何使用postgres获取不同的数组元素?全部内容,希望文章能够帮你解决数组 – 如何使用postgres获取不同的数组元素?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1155614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存