1、利用自联结,得到两张相同的表,t1作为主表,t2作为从表,左联结2张表,并都按照用户分组,按照用户的访问时间升序排序
(select
用户ID
,访问的页面
,访问页面时间
,row_number(...如上图所示
select
t1.用户ID
,t1.访问的页面
,t1.访问页面时间
from
(select
用户ID
,访问的页面
,访问页面时间
,row_number() over (partition...select
t.用户ID
,t.访问的页面
,t.访问页面时间
from
(select
用户ID
,访问的页面
,访问页面时间
,lag(访问的页面,1,0) over (partition by...=t.上一个访问的页面
【本题要点】
此种解法用到了lag()函数,lag()函数是查询当前行向上偏移n行对应的结果
该函数有三个参数:第一个为待查询的参数列名,第二个为向上偏移的位数,第三个参数为超出最上面边界的默认值...,一般与over()连用,为窗口函数的一种。
lag(…) over (partition by… order by…)
下图为lag()函数向上偏移一行,两行,并超出边界用“0”表示的图示。