组内分组

Grouping within a group

我的table:

select * from A

我想要的输出:

每个用户 ID,每月,前 2 个类别,基于浏览量降序。

以表格形式,这将是:

我试过了,但我不太明白我做错了什么

select userid, category, month, views
from A
qualify
row_number() over (partition by userid, category, month order by views desc) = 2

你是这个意思吗:

select userid, category, month, views
from A
qualify
row_number() over (partition by userid, month order by views desc) <= 2