select top j * from table where id not in (select top i from table order by date) order by date
如果你的数据有编号,可是使用编号作为条件语句。 如果没有编号。网上有很多分页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
SELECT TOP j-i * FROM table WHERE id NOT IN(SELECT TOP i idFROM table)
SELECT TOP j-i * FROM table WHERE id NOT IN(SELECT TOP i id FROM table)
SELECT IDENTITY(INT,1,1)ID,* INTO # FROM TBSELECT * FROM # WHERE ID BETWEEN I AND J
用Top
如果没有编号。网上有很多分页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
正好这几天发了这个帖子,现在还在论坛首页推荐,来看看吧
一套新的SqlServer2005分页方案,非常快!
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 …]
select top j * from 表名 where id not in (select top i * from 表名)我想Orcal跟SQL都有top关键字的吧