Tsql 行号()和T-SQL视图

Tsql 行号()和T-SQL视图,tsql,Tsql,我正在尝试在T-SQL中为视图实现分页: with TH_VW_UserFollowing as ( Select FollowerID, FollowingID, FollowingFullName, FollowingImage, FollowingUserName, dbo.GetUserFollowers(FollowingID) AS Followers, ROW_NUMBER(

我正在尝试在T-SQL中为视图实现分页:

with TH_VW_UserFollowing  as
(
Select  FollowerID, 
        FollowingID, 
        FollowingFullName, 
        FollowingImage, 
        FollowingUserName,
        dbo.GetUserFollowers(FollowingID) AS Followers,
        ROW_NUMBER() OVER (order by dbo.GetUserFollowers(FollowingID) DESC ) AS 'RowNumber'   
from dbo.TH_VW_UserFollowing 
where FollowerID = @UserID 
)
Select  FollowerID, 
        FollowingID, 
        FollowingFullName, 
        FollowingImage, 
        FollowingUserName, Followers
from dbo.TH_VW_UserFollowing
Where RowNumber BETWEEN @startIdx AND @endIdx
出于某种原因,我会出现以下错误:

Msg 207,16级,状态1,程序GetUsersFollowing,第36行
列名“RowNumber”无效。味精207,16级,状态1,程序
GetUsersFollowing,第36行列名“RowNumber”无效。味精
207,第16级,状态1,过程GetUsersFollowing,第34行
列名“Followers”无效

我对一个表使用了相同的代码,但我不知道这里发生了什么。有些东西不见了


谢谢。

您是从表中选择的,而不是您上面定义的CTE。你应该在你的最终选择中做“来自大众用户跟随”。我还建议将CTE命名为与表不同的名称。

为什么要将CTE命名为与视图名称相同的名称