SQL Postgres 查询的服务器等效项
SQL Server equivalent of Postgres query
select column
from table
order by row_number() over ()
limit 1000 offset 200;
我在 PostgreSQL 中有上述查询。我想要 SQL 服务器等同于上面的内容。我尝试了下面的一个:
select top 1000 offset 200 column
from table
order by row_number() over (ORDER BY column ASC)
limit 1000 offset 200;
但它抛出以下错误。
Incorrect syntax near '17000000'.
SELECT column
FROM table
ORDER BY Row_Number() Over (Order By column)
OFFSET 200 ROWS
FETCH NEXT 1000 ROWS ONLY;
https://technet.microsoft.com/en-us/library/gg699618(v=sql.110).aspx
请注意,您确实应该使用保证每次给出相同订单的 ORDER BY 子句。
有些数据库不会 return 任何 INFORMATION_SCHEMA.COLUMNS 偏移量为 200 的东西,但我把它放在这里是为了工作代码。
SELECT t.TABLE_NAME, t.COLUMN_NAME
, ROW_NUMBER() over (order by t.COLUMN_NAME asc) as RowNumber
FROM INFORMATION_SCHEMA.COLUMNS as t
ORDER BY ROW_NUMBER() over (order by t.COLUMN_NAME asc)
OFFSET 200 ROWS
FETCH NEXT 1000 ROWS ONLY
select column
from table
order by row_number() over ()
limit 1000 offset 200;
我在 PostgreSQL 中有上述查询。我想要 SQL 服务器等同于上面的内容。我尝试了下面的一个:
select top 1000 offset 200 column
from table
order by row_number() over (ORDER BY column ASC)
limit 1000 offset 200;
但它抛出以下错误。
Incorrect syntax near '17000000'.
SELECT column
FROM table
ORDER BY Row_Number() Over (Order By column)
OFFSET 200 ROWS
FETCH NEXT 1000 ROWS ONLY;
https://technet.microsoft.com/en-us/library/gg699618(v=sql.110).aspx
请注意,您确实应该使用保证每次给出相同订单的 ORDER BY 子句。
有些数据库不会 return 任何 INFORMATION_SCHEMA.COLUMNS 偏移量为 200 的东西,但我把它放在这里是为了工作代码。
SELECT t.TABLE_NAME, t.COLUMN_NAME
, ROW_NUMBER() over (order by t.COLUMN_NAME asc) as RowNumber
FROM INFORMATION_SCHEMA.COLUMNS as t
ORDER BY ROW_NUMBER() over (order by t.COLUMN_NAME asc)
OFFSET 200 ROWS
FETCH NEXT 1000 ROWS ONLY