Sql 为什么我的查询找不到RowNum列?

Sql 为什么我的查询找不到RowNum列?,sql,sql-server,Sql,Sql Server,我使用此查询以分页方式获取结果。但是,当我尝试执行它时,会出现错误,如无效列名'RowNum' DECLARE @PageNum AS INT; DECLARE @PageSize AS INT; SET @PageNum = 2; SET @PageSize = 10; WITH videosrn AS ( SELECT ROW_NUMBER() OVER(ORDER BY videoid) AS RowNum ,videoid ,title

我使用此查询以分页方式获取结果。但是,当我尝试执行它时,会出现错误,如
无效列名'RowNum'

DECLARE @PageNum AS INT;
DECLARE @PageSize AS INT;
SET @PageNum = 2;
SET @PageSize = 10;
WITH videosrn AS
(
    SELECT ROW_NUMBER() OVER(ORDER BY videoid) AS RowNum
          ,videoid
          ,title
      FROM videos
)
SELECT *   FROM videos
 WHERE RowNum BETWEEN (@PageNum - 1) * @PageSize + 1 AND @PageNum * @PageSize
 ORDER BY videoid

这里的问题是什么?

RowNum是Oracle中的一个隐式计算列。请使用其他名称。

RowNum是Oracle中的隐式计算列。使用不同的名称。

您需要
从videosrn
中选择*(而不是
视频

您需要
从videosrn
中选择*(而不是
视频

不,实际上我正在尝试在sql server中执行。不管我如何将它改为rownum1,但我还是遇到了同样的问题,不,实际上我正在尝试在sql server中执行。不管我怎么把它改成rownum1,但我还是遇到了同样的问题