假设我有一个具有这种结构的表:
CREATE TABLE tb_purchase (
id SERIAL PRIMARY KEY,
user_id integer,
purchased_item varchar (100),
time timestamp
);
购买的商品包含多个类别。我希望每30分钟查看每个user_id 的 唯一购买商品数量。我正在考虑使用窗口函数计算id的数量,如下面的代码
select user_id,
count(id)
OVER(PARTITION BY
user_id,
purchased_item
order by time
rows between time and time + interval '30' minute) AS total
from tb_purchase
它适用于PostgreSQL,但它似乎在Presto中不起作用。有没有办法达到我想要的结果?