【发布时间】:2021-02-26 09:10:37
【问题描述】:
在数据按 time_id 排序后,我正在尝试在 pagename 列上使用 dense_rank() 函数。 排名列 rn 中的预期输出为:[1,2,2,3,4]。
目前我写成:
with tbl2 as
(select UID, pagename, date_id, time_id, source--, dense_rank() over(partition by UID order by pagename) as rn
from tbl1
order by time_id)
select *, dense_rank() over(partition by UID order by time_id, pagename) as rn
from tbl2
任何帮助将不胜感激
编辑 1:我在这里想要实现的是根据用户屏幕上的操作流程对访问的页面进行排名。假设如果在访问不同的页面“B”后又访问了相同的页面“A”,那么这些页面访问 A、B、A 的排名将为 1、2、3(请注意,同一页面 A 具有不同的排名 1 和3)
【问题讨论】:
-
请以文本形式提供数据和表格结构,而不是图像。
-
@MarkRotteveel,我认为因为这适用于他们两个(因为我都使用过),所以我标记了这些。但是接受了你的建议并只标记了我用于此的 postgres
-
@JimJones,我认为表列名足以满足此目的。并且代码是出于相同的目的共享的,也是为了展示我的工作
标签: sql postgresql