免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 37125 | 回复: 27

版本12.5.2,分页取数据的sql怎么写?谁能帮我 [复制链接]

论坛徽章:
0
发表于 2005-12-13 14:23 |显示全部楼层
版本12.5.2,分页取数据的sql怎么写?

论坛徽章:
0
发表于 2005-12-13 16:14 |显示全部楼层
不明白什么意思?

论坛徽章:
0
发表于 2005-12-13 16:23 |显示全部楼层

取第11条到第20条的记录

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

论坛徽章:
0
发表于 2005-12-13 17:29 |显示全部楼层
set rowcount 20
-- get 20 rows
-- discard the first 10 rows
set rowcount 0

论坛徽章:
0
发表于 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


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

论坛徽章:
0
发表于 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。

论坛徽章:
0
发表于 2005-12-13 18:38 |显示全部楼层
SYBASE 不提供这种方式的提取,除非自己写一个游标

论坛徽章:
0
发表于 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'.

论坛徽章:
0
发表于 2005-12-13 21:47 |显示全部楼层
top语句在12.5.3之后才支持,实际上使用set rowcount n是个不错的选择

论坛徽章:
0
发表于 2005-12-14 10:18 |显示全部楼层
top在ASE 15可以支持,但不知道start at支不支持?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP