0

我有一个数据集,可以跟踪用户何时阅读网站。用户可以随时阅读网站,因此用户将多次出现。我想创建一个列来跟踪用户阅读特定网站的次数。但是由于它是一个时间序列,所以计数应该是增量的。我有大约 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
4

2 回答 2

2

使用 row_number()

select *,row_number() over(partition by id,webid order by date) cnt
from table
order by date,id
于 2019-08-05T08:11:02.710 回答
-1

您可以使用以下 sql 查询:

Select  count(*) "Count" , Date, ID, WebID, from table group by webid, id, date
于 2019-08-05T08:51:56.497 回答