所以我的表有两列:hour和customerid。每位顾客将有两排,一排对应他/她进入商店的时间,一排对应他/她离开商店的时间。有了这些数据,我想创建一个表,该表包含客户在商店的每一个小时。例如,一个客户x在下午1点进入商店,下午5点离开,因此将有5行(每小时1行),如下面的屏幕截图所示。
我的尝试是:
select
hour
,first_value(customer_id) over (partition by customer_id order by hour rows between unbounded preceding and current row) as customer_id
FROM table
1条答案
按热度按时间mwngjboj1#
假设:
你在跑博士后
给定的客户在表中总是正好有两行
hour
日期类似于数据类型那么一个选择就是使用
generate_series()
横向连接,如:db fiddlde上的演示: