依次增加计数

Increase Count Sequentially

我有一个数据集可以跟踪用户何时阅读网站。用户可以随时阅读网站,因此该用户会出现多次。我想创建一个列来跟踪用户阅读特定网站的次数。但既然是时间序列,计数应该是递增的。我有大约 28gbs 所以 pandas 将无法处理工作负载,所以我必须将它写在 sql 中。

示例数据如下:

Date    ID  WebID
201901  Bob X-001
201902  Bob X-002
201903  Bob X-001
201901  Sue X-001

预期结果:

Date    ID  WebID   Count
201901  Bob X-001   1
201902  Bob X-002   1
201903  Bob X-001   2
201901  Sue X-001   1

使用row_number()

select *,row_number() over(partition by id,webid order by date) cnt
from table
order by date,id

您可以使用下面的 sql 查询:

Select  count(*) "Count" , Date, ID, WebID, from table group by webid, id, date