0

我见过很多分页示例,如下所示。但是,我想对许多不同的表使用相同的查询。有没有办法使用这种技术而不必指定列名。理想情况下,某种方式来选择 * 以及添加的 row_number 列?

SELECT * FROM (
   SELECT
   ROW_NUMBER() OVER (ORDER BY ColumnName1 ASC) AS rownumber, ColumnName1, ColumnName2
   FROM TableName
   ) AS foo
WHERE rownumber BETWEEN 10 AND 20
4

1 回答 1

1

您需要在分析函数中指定要排序的列。但是,除此之外,您还可以

SELECT *
  FROM (SELECT t.*,
               row_number() over (order by column1 ASC) rnk
          FROM tableName t)
 WHERE rnk BETWEEN 10 and 20
于 2012-06-15T19:12:13.567 回答