在SQL Server中选择中间行

Bij*_*jan 5 sql-server sql-server-2012

我有一个表,我想要选择最后10%的行,偏移10%(所以我想选择最后80-90%的数据).

我写了以下查询

SELECT TOP 10 PERCENT
   [col1], [col2]
FROM [table]
ORDER BY [col1] DESC
OFFSET 10 ROWS
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

第5行:'OFFSET'附近的语法不正确.

我究竟做错了什么?我正在使用应与之兼容的Microsoft SQL Server 2012OFFSET

M.A*_*Ali 5

尝试这样的事情......

SELECT TOP (50) PERCENT *
FROM (
        SELECT TOP (20) PERCENT 
                      [col1]
                     ,[col2]
        FROM [table]
        ORDER BY [col1] DESC
     )T
ORDER BY [col1] ASC
Run Code Online (Sandbox Code Playgroud)