如何对GROUP BY使用的行数使用LIMIT

时间:2017-10-19 01:33:09

标签: postgresql

我有一个相互关联的条目的大表(太大而不能简单地查询它们并将它们分组)。我想浏览它们,但我想确保我的所有组都包含所有相关条目,并且用于生成这些组的总行数有限。这些组的大小不同,因此简单地限制返回的组数并不能保证一个小到足以处理的组。

在伪代码中,给我所有可以使用不超过N行生成的完整组(使用GROUP BY)。然后我需要处理下一个“页面”(使用OFFSET?)。我当前查询一次处理所有行(在大表上花费太长时间)看起来像这样:

select addressresult->'matchElements' as match, 
       addressresult->'foundElements'->'element0'->>'type' as type, 
       array_agg(id) as ids, 
       count(id) as items 
from address 
group by match, type 
having count(id) >= 5;

0 个答案:

没有答案