gpt4 book ai didi

postgresql - 查询中的两个 array_aggs 是否共享同一个窗口?

转载 作者:行者123 更新时间:2023-11-29 13:56:08 24 4
gpt4 key购买 nike

考虑这个例子:

SELECT    comment_date
, array_agg(user_id) users
, array_agg(comment) comments
FROM user_comments
GROUP BY comment_date
  1. 假设用户评论的索引引用相同的记录(例如,用户[3]创建评论[3])是否安全?<
  2. 两个数组的顺序是否可能引用不同的记录,可能是由于性能增强?

我对 Postgres 的内部结构了解不够,无法信任 array_agg 排序。

最佳答案

除非您明确指定,否则您不能对聚合函数的应用顺序做出任何假设。如果您想确保对 array_agg 的两次调用具有相应的值,您应该为它们都添加 order by 子句。例如:

SELECT    date
, array_agg(user_id ORDER BY user_id) users
, array_agg(comment ORDER BY user_id) comments
FROM user_comments
GROUP BY date

关于postgresql - 查询中的两个 array_aggs 是否共享同一个窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31434254/

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