数组 – postgres:如何在给定条件的情况下计算数组列中的不同元素

数组 – postgres:如何在给定条件的情况下计算数组列中的不同元素,第1张

概述我有一个如下表: ID array1 array27333 | {615593} | {NULL}7333 | {2013682} | {NULL}7333 | {26573,1508291} | {NULL}7333 | {1457957} | {NULL}7333 | {NULL} | {106310 我有一个如下表:

ID     array1           array27333 | {615593}        | {NulL}7333 | {2013682}       | {NulL}7333 | {26573,1508291} | {NulL}7333 | {1457957}       | {NulL}7333 | {NulL}          | {1063105}7333 | {NulL}          | {107978,408431}

我期待查询每个edge_ID的array1和array2的所有唯一项.例如

ID   array1_distinct    array2_distinct7333 5                  3

我尝试过类似下面的内容

SELECT   ID,array1_count FROM (  SELECT ID,COUNT(disTINCT((CASE WHEN array1 is not null THEN (select unnest(array1)b) END)) as array1_count  FROM mytable  GROUP BY ID) totalslimit 1

我总是会遇到错误,例如“用作表达式的子查询返回的多行”和“在使用unfst时尝试计算数组中的元素时在上下文中调用的集值函数”.

解决方法
select ID,count(distinct a1) as a1,count(distinct a2) as a2from (    select ID,unnest(array1) as a1,unnest(array2) as a2    from t) sgroup by ID
总结

以上是内存溢出为你收集整理的数组 – postgres:如何在给定条件的情况下计算数组列中的不同元素全部内容,希望文章能够帮你解决数组 – postgres:如何在给定条件的情况下计算数组列中的不同元素所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存