在 PostgreSQL 中从 table 创建顺序数据

Create Squential data from a table in PostgreSQL

我有一个巨大的 table 像这样:

id   eventid timestamp
id1  event1  time1
id1  event2  time2
id2  event1  time3
id2  event4  time4
id1  event4  time6

我想要的是每个用户的事件按时间排序如下:

id     event_sequence(nvarchar)
id1    event1,event2,event4
id2    event1,event4

有没有 SQL 我可以在 Postgres (Greenplum) 中执行此操作的查询?

嗯。我不知道您是否可以在 Greenplum 中执行此操作。在 Postgres 中,它看起来像:

select id, string_agg(event, ',' order by timestamp) as events
from t
group by id;

在Greenplum中,我认为你需要使用:

select id, array_to_string(array_agg(event, ',' order by timestamp)) as events
from t
group by id;