select * from
(select *,row_number() over (order by id) as new_id from dt_article where channel_id=2) as new_table
where new_id between 11 and 20
说明:返回结果集分区内行的序列号,每个分区的第一行从 开始。 语法:ROW_NUMBER () ( order_by_clause ) 。 备注: 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。 参数:partition_by_clause :将 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。 order_by_clause:确定将 ROW_NUMBER 值分配给分区中的行的顺序。 返回类型: 。 示例: AdventureWorks c.FirstName, c.LastName, ROW_NUMBER() ( SalesYTD ) , s.SalesYTD, a.PostalCode Sales.SalesPerson s Person.Contact c s.SalesPersonID c.ContactID Person.Address a a.AddressID c.ContactID TerritoryID SalesYTD AdventureWorks; OrderedOrders ( SalesOrderID, OrderDate, ROW_NUMBER() ( OrderDate) RowNumber Sales.SalesOrderHeader ) OrderedOrders RowNumber ;
原文:http://net5x.blog.51cto.com/7900145/1595206