软件人生

Jack(子游)

我的目标:做世界一流的软件,成为优秀的项目管理者 主要专注行业: Cms(content manage system) OA CRM 在线营销系统 在线调查
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Sql server 2005 分页查询

Posted on 2009-04-02 12:30  子游  阅读(264)  评论(0)    收藏  举报

 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


  


快乐软件人生