;with visitOrder
as (
Select name, visit_date, code, row_number() over (partition by name, code order by visit_date) rn
From Visit
Where code='A'
)
select *
from visitOrder vo
join visit v
on vo.name = v.name
and vo.visit_date < v.visit_date
and vo.rn = 1
1条答案
按热度按时间hi3rlvi21#
你需要一个
ROW_NUMBER()
窗口函数获取访问顺序。然后进行第一次访问,然后回到visit_date
在第一个之后发生visit_date
.