我正在尝试使用row_number()
.
使用此语法
select row_number() over(order by x.patientid, x.dischargedate) as rn
,* from x
inner join x as x2 on row_number() over(order by x.patientid, x.dischargedate)=row_number() over(order by x2.patientid, x2.dischargedate)
CTEx
做了我想要的,但是当我尝试加入行号时,我得到了错误
Msg 4108, Level 15, State 1, Line 35
Windowed functions can only appear in the SELECT or ORDER BY clauses.
我知道我可以在 CTE 本身中包含 row_number 并给它一个列名,然后加入类似的东西,x.rn
但是有什么逻辑原因我想不出为什么你不能直接加入这个函数row_number()
?