嵌套聚合列到数组中

时间:2016-08-18 20:30:25

标签: sql postgresql

我希望每个app我想存储一个数组series,其中每个元素都是给定日期创建的conversations数量。

知道如何实现这一目标吗?这是我到目前为止所得到的

with week as
(
   SELECT now()::date - d AS day FROM generate_series (0, 90) as d
)
select
  a.id, week.day, count(extract(dow from c.inserted_at))
from week 
left join conversations c on week.day = c.inserted_at::date
left join apps a on c.app_id = a.id
group by a.id, week.day
order by week.day;

1 个答案:

答案 0 :(得分:0)

如果要将数据汇总到一定级别。您的组通过确定聚合级别。你有一个Id和Week.day的小组。如果ID是记录的唯一标识值。您没有在Week.day级别进行分组或汇总,而是在ID级别进行分组或汇总。您需要从您的组中删除ID,并在分组中将week.day聚合到日期级别。