gpt4 book ai didi

sql - 我如何分组连接每一行?

转载 作者:行者123 更新时间:2023-11-29 12:37:41 24 4
gpt4 key购买 nike

我有这个问题

SELECT 1 as row, array_agg(id) as ids FROM users GROUP BY row;

结果

  row  |   ids
---------------
1 {1,2,3,4}

我有很多结果无法放在一行中...所以我正在尝试构建一个查询来执行此操作:

  row  |   ids
---------------
1 {1,3,4,5}
2 {4,6,9,20}
3 {21,24,26,30}
etc.....

我想将 id 限制为每行 50 个,行数越多越好。我怎样才能做到这一点?

最佳答案

row_number() over() 返回行号。然后只需执行一个子查询将它们组合在一起。将 4 更改为您实际想要的数字

select a.r, array_agg(a.id) ids
from (
select (row_number() over()-1)/4 r, id
from users) a
group by a.r;

演示:http://sqlfiddle.com/#!15/5c738/22

关于sql - 我如何分组连接每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24154714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com