iim_liyongfeng 发表于 2005-12-13 14:23

版本12.5.2,分页取数据的sql怎么写?谁能帮我

版本12.5.2,分页取数据的sql怎么写?

leno_mx 发表于 2005-12-13 16:14

不明白什么意思?

iim_liyongfeng 发表于 2005-12-13 16:23

取第11条到第20条的记录

取第11条到第20条的记录:
象mysql一样,select * from table where c1='a' start 11 limit 10

flybean 发表于 2005-12-13 17:29

set rowcount 20
-- get 20 rows
-- discard the first 10 rows
set rowcount 0

ncowboy 发表于 2005-12-13 18:18

原帖由 flybean 于 2005-12-13 17:29 发表
set rowcount 20
-- get 20 rows
-- discard the first 10 rows
set rowcount 0

不能够设置起始位置啊。哥哥。

ncowboy 发表于 2005-12-13 18:20

可是,这个不能够用。
显式限制查询返回的行数

--------------------------------------------------------------------------------

您可以使用 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。

zhhui2000 发表于 2005-12-13 18:38

SYBASE 不提供这种方式的提取,除非自己写一个游标

iim_liyongfeng 发表于 2005-12-13 19:33

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'.

jarjar 发表于 2005-12-13 21:47

top语句在12.5.3之后才支持,实际上使用set rowcount n是个不错的选择

leno_mx 发表于 2005-12-14 10:18

top在ASE 15可以支持,但不知道start at支不支持?
页: [1] 2 3
查看完整版本: 版本12.5.2,分页取数据的sql怎么写?谁能帮我