Postgresql 研究生漏斗分析(花费的时间)
我有一张这样的桌子:Postgresql 研究生漏斗分析(花费的时间),postgresql,Postgresql,我有一张这样的桌子: id visited_time page visitor_id 1 2019-04-29T10:44:53.847014+02:00 1 1 2 2019-04-29T10:46:53.174894+02:00 1 3 3 2019-04-29T10:49:44.000390+02:00 2 1 18 2019-04-29T10:52:46.574140+02:00 2
id visited_time page visitor_id
1 2019-04-29T10:44:53.847014+02:00 1 1
2 2019-04-29T10:46:53.174894+02:00 1 3
3 2019-04-29T10:49:44.000390+02:00 2 1
18 2019-04-29T10:52:46.574140+02:00 2 3
19 2019-04-29T10:52:58.158146+02:00 3 1
20 2019-04-29T10:53:27.402038+02:00 1 9
25 2019-04-29T10:55:18.275441+02:00 2 9
54 2019-04-29T11:10:01.818343+02:00 1 13
72 2019-04-29T11:40:28.056813+02:00 2 13
访问者也将从第1页转到第2页,再转到第3页,以此类推,但可能会中途退出。我想找出在每一页上花费的平均时间。从逻辑上讲,这是唯一访客id访问第1页和第2页之间的区别,以此类推
在postgres中有没有一种聪明的方法可以做到这一点?给你:
选择
页
avgvisited_time_下次访问时间
从…起
选择
页
在美国时间,
-某个访问者查看下一页的时间。。。
按访客id划分的leadvisited\u时间按访客时间排序为visited\u时间\u next
来自访问_so_56097366
作为tmp
按页分组
按页排序;
在线示例:
还请确保您有一个关于访问者id和访问时间的索引,否则,对于大量中间行,您将得到非常昂贵的排序: