![]() |
1
1
问题在于
Postgres的基本困难在于,数组类型可以包含任意数组维度,但多维数组必须为每个维度都有匹配的范围。 这件事有很多细节。空值?空数组?重复?保留阵列位置。。。。 先解开比你的情况更简单的情况可以通过简单地先取消刺来解决。但你 也 想加一个总数。您可以运行两个单独的聚合:
使查询复杂化,但只使用基本工具。 自定义聚合函数(我的选择!)或者,创建一个自定义聚合函数 简单地concats数组 -尺寸匹配! 每个数据库创建一次:
然后:
注:
需要匹配数组
尺寸
在输入中。我在小提琴上加了一个违规的例子。
在一个具有大数组的大表上进行的快速测试中,自定义聚合函数是 速度提高10-100倍 比这里的任何解决方法都要先取消数组的嵌套。
解决方法
|
![]() |
2
0
我使用内置的JSON函数回答了自己的问题。
|
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 5 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 5 月前 |
![]() |
Sax · 规范化Google表格(第一步) 5 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |