用的Sql Server2000,请问怎么才能取到从第i行到第j行的数据呢,这个Sql怎么写呢?谢谢了!Orcal 中可以通过RowNum 来写,可是Sql Server2000中貌似没有这个东西。

解决方案 »

  1.   

    可以借鑒SQL2000的分頁SQL.
    用Top
      

  2.   

    select top j * from table where id not in (select top i from table order by date) order by date
      

  3.   

    如果你的数据有编号,可是使用编号作为条件语句。
    如果没有编号。网上有很多分页sql,可以满足你的需求。
    仅供参考
    升序: 
    select top 每页条数 * from 表名 where 条件字段> 

    select max(条件字段) from 

    select top (当前页数-1)X每页条数 条件字段 from 表名 
    order by 条件字段 
    ) 临时表名 
    ) order by 条件字段 
    降序: 
    select top 每页条数 * from 表名 where 条件字段< 

    select min(条件字段) from 

    select top (当前页数-1)X每页条数 条件字段 from 表名 
    order by 条件字段 desc 
    ) 临时表名 
    ) order by 条件字段 desc 
      

  4.   

    SELECT TOP j-i * FROM table WHERE id NOT IN(SELECT TOP i idFROM table)
      

  5.   

    SELECT TOP j-i * FROM table WHERE id NOT IN(SELECT TOP i id FROM table)
      

  6.   

    SELECT IDENTITY(INT,1,1)ID,* INTO # FROM TBSELECT * FROM # WHERE ID BETWEEN I AND J
      

  7.   


    正好这几天发了这个帖子,现在还在论坛首页推荐,来看看吧
     一套新的SqlServer2005分页方案,非常快!
      

  8.   

    这个很简单,写个游标!就OK了!给你一个我以前写的游标,是个例子你仿照写写,能写出来的!
    DECLARE@StuId CHAR(10),@CourseId CHAR(6),@TotalScore INT
    ------------声明游标------------
    DECLAREGradeQueryCursor CURSORFORSELECTStuId,CourseId,TotalScore FROMTb_Grade WHEREClassId='S0408011' ANDCourseId='C08002'
    ------------打开游标------------
    OPENGradeQueryCursor
    --------------提取游标中数据-------------
    FETCHNEXT FROMGradeQueryCursor
    INTO@StuId,@CourseId,@TotalScore
    ------循环提取游标中数据并显示------
    WHILE@@FETCH_STATUS= 0
    BEGIN
    FETCHNEXT FROMGradeQueryCursor
    INTO@StuId,@CourseId,@TotalScore
    PRINT@StuId+':'+@CourseId+':'+
    CAST(@TotalScore ASCHAR)
    END
    ------------------关闭游标------------------
    CLOSEGradeQueryCursor
    ------------------释放游标------------------
    DEALLOCATEGradeQueryCursor当游标被声明和成功打开后,就可以从游标中逐行地提取数据,以供相关处理。从游标中提取数据的语法格式如下:
    •FETCH
    •[[ NEXT|PRIOR|FIRST|LAST|ABSOLUTE{n|@nvar}|RELATIVE{n|@nvar} ]
    •FROM ]
    •{{Cursor_name}|@cursor_variable_name}
    •[INTO @变量1, @变量2 …]
      

  9.   


    select top j * from  表名 where id not in (select top i * from 表名)我想Orcal跟SQL都有top关键字的吧