Sql Server 2005 终于加上了RowNumber这个排序用的功能,虽然比较笨拙,远不如Oracle在8.5就已经有的功能。
但有总比没有好,对于那些在用Sql server开发的人来说,是一件喜事。
先来一段 Sql 代码:
WITH contacts1 AS
(SELECT *,
ROW_NUMBER() OVER (order by [__CreatedOn])as RowNumber
FROM AlotContacts_Hard
where firstname like '%s%'
)
SELECT *
FROM contacts1
WHERE RowNumber between 1 and 20
contacts1 相当与一个别名或者临时表;
在括号里面,写上需要查询的语句。最后在查询列(Column)加上
ROW_NUMBER() OVER (order by [__CreatedOn])as RowNumber
就可以分页查询。
当然也可以换一种普通Sql写法:
select * from
(SELECT *,
ROW_NUMBER() OVER (order by [__CreatedOn])as RowNumber
FROM AlotContacts_Hard
where firstname like '%s%'
) as Contacts
互动营销专家(邮件营销,在线调查,事件营销)
http://www.supermore.com.cn