我正在尝试获取给定间隔的项目数,但没有指定开始或停止时间。我会想象你可以用窗口函数来做,但我不太确定如何去做。Postgres按时间间隔计数项目
问题如下我想获得在给定的任意间隔20分钟内人们登录网站的次数。
实施例A
1. 2015-06-24 23:00:00
2. 2015-06-24 23:45:00
3. 2015-06-25 00:00:00
4. 2015-06-25 00:15:00
5. 2015-06-25 00:17:00
6. 2015-06-25 00:21:00
在上述例子中我要强调项目(2,3),(3,4,5),(4,5,6),(5,6)的输出我想是
start,end,count
2015-06-25 23:45:00,2015-06-25 00:00:00,2
2015-06-25 00:00:00,2015-06-25 00:17:00,3
2015-06-25 00:15:00,2015-06-25 00:21:00,3
而且只保留其中数> = 2,否则一切都将是一个有效的分组
现在数据是窗口函数的方式,我应该去,CTE或者是有其他的做法采用?
这些窗口是固定的还是浮动的?如果你有'6。 2015-06-25 01:21:00',它会如何改变结果? – Quassnoi
如果是这样的话,那么结果会批量生成(2,3),(3,4,5)我猜我错过的是计数大于等于2的情况,否则一切都会被捕获 – sqwale
为什么3会进入分成两组? – Quassnoi