+ -
当前位置:首页 → 问答吧 → 新手问题系列,求助贴

新手问题系列,求助贴

时间:2010-11-02

来源:互联网

sql server 2005,查询,如果我有一张表1万行,怎么样,选行的范围,我只知道开头1000行是:
SELECT top 1000 [ID]
      ,[CITYNAME]
      ,[PERIOD]
      ,[CHAINCODE]
      ,[STORECODE]
      ,[YSPM]
      ,[YSCJ]
      ,[YSGG]
      ,[DJ]
      ,[XSL]
      ,[XSE]
      ,[QC]
      ,[JH]
      ,[CH]
      ,[YDBH]
      ,[SPBH]
      ,[PZWH]
  FROM [GBC].[dbo].[content]
但是,如果我想选第5000行到7000行,或者我想选,最后1000行,语句应该怎么打?

[ 本帖最后由 wqjwftcaqr 于 2010-11-2 11:14 编辑 ]

作者: wqjwftcaqr   发布时间: 2010-11-02

如果你的表中ID顺序编号的可以直接在Where中使用ID作为条件,否则需要使用2005新增功能 ROW_NUMBER(),可以很容易的实现你的要求,注意rn是VARChar,所以WHERE中的数字需要单引号。
复制内容到剪贴板
代码:
SELECT * FROM
        (SELECT *, ROW_NUMBER() OVER(ORDER BY c.id) AS rn
        FROM [GBC].[dbo].[content] AS c) AS t1
WHERE r1.rn BETWEEN '5000' AND '7000'

作者: taller   发布时间: 2010-11-02

热门下载

更多