版本12.5.2,分页取数据的sql怎么写?谁能帮我
版本12.5.2,分页取数据的sql怎么写? 不明白什么意思?取第11条到第20条的记录
取第11条到第20条的记录:象mysql一样,select * from table where c1='a' start 11 limit 10 set rowcount 20
-- get 20 rows
-- discard the first 10 rows
set rowcount 0 原帖由 flybean 于 2005-12-13 17:29 发表
set rowcount 20
-- get 20 rows
-- discard the first 10 rows
set rowcount 0
不能够设置起始位置啊。哥哥。 可是,这个不能够用。
显式限制查询返回的行数
--------------------------------------------------------------------------------
您可以使用 FIRST 或 TOP 关键字限制查询的结果集中包括的行数。这些关键字用于包括 ORDER BY 子句的查询。
示例
以下查询返回在按姓氏对雇员进行排序时首先出现的雇员的信息:
SELECT FIRST *
FROM employee
ORDER BY emp_lname
以下查询返回按姓氏排序时出现的前五个雇员:
SELECT TOP 5 *
FROM employee
ORDER BY emp_lname
在使用 TOP 时,您也可以使用 START AT 来提供偏移。以下语句列出按姓氏以降序进行排序时出现的第五个和第六个雇员:
SELECT TOP 2 START AT 5 *
FROM employee
ORDER BY emp_lname DESC
FIRST 和 TOP 只能与 ORDER BY 子句联合使用,以确保获得一致的结果。如果使用 FIRST 或 TOP 时没有 ORDER BY,则会触发语法警告,并且很可能产生无法预知的结果。
注意
'start at' 值必须大于 0。当 'top' 为常量时,其值必须大于 0;当 'top' 为变量时,其值必须大于或等于 0。 SYBASE 不提供这种方式的提取,除非自己写一个游标 top 语句不行啊
1> select top 10 * from tblStudentCode order by Code
2> go
Msg 102, Level 15, State 1:
Server 'DBSVR', Line 1:
Incorrect syntax near '10'. top语句在12.5.3之后才支持,实际上使用set rowcount n是个不错的选择 top在ASE 15可以支持,但不知道start at支不支持?