是否有一种有效的方法来查询稀疏数据上的array_agg,如下所示? 具有稀疏元素的行需要聚合,即使某些行仅部分重叠。
输入
ID | tags
----|-------------
a1 | {b1, b2}
a2 | {b1, b3, b4}
a3 | {b4, b5}
a4 | {b6, b7}
a5 | {b6, b8}
如您所见,a1,a2和a3的标签不会完全重叠,但应将它们聚合以进行部分重叠。由于数据稀疏,聚合的大小不会很大。
预期输出
IDs | tags
-------------|-------------
{a1, a2, a3} | {b1, b2, b3, b4, b5}
{a4, a5} | {b6, b7, b8}
如果查询在大约20万行数据中完成了一夜左右,那就太好了。
感谢您的帮助。
敏