Postgres按列分组,每组限制,然后取消分组?

时间:2018-06-22 18:45:36

标签: postgresql group-by

例如,我有一个包含两列的表-nameage

我想编写一个查询,为数据集中的每个age选择2个人。为了更好地说明,如果我要检索整个结果集,然后用伪代码执行此操作,则它看起来像这样:

  • 检索整个集合
  • 随机排序集合
  • 创建一个空数组
  • 遍历结果集中的每个记录
    • 检查我创建的数组是否已经有2条记录,其中age == current record.age
    • 如果不是,则将当前记录推入阵列。如果是这样,什么都不做。

此操作结束时,我将在数据集中有一个随机排序的数组,每个年龄段都有1或2个人。

是否可以在SQL查询中执行此操作?

0 个答案:

没有答案