Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共23 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:加载指定的连续的行数据问题

1楼
mr725 发表于:2009/11/11 16:33:00
SELECT TOP 10 * FROM {订单}   这是加载前十行的数据,那么要加载 第十一行到第二十行的数据,该怎么表达?
2楼
狐狸爸爸 发表于:2009/11/11 16:38:00

你可以看看SQL SERVER的开窗函数。

或者用歪门邪道:

SELECT TOP 10 * FROM {订单} Where [_Identify] < 20 Order by [_Identify] Desc

<20是估计的,你可以灵活掌握。

3楼
mr725 发表于:2009/11/11 17:03:00
开窗函数对我太深奥啦,表经过筛选排序后_identify 也很难保证连续了,看来要增加一个临时的序列才能行啊 ~  我试一试。
4楼
狐狸爸爸 发表于:2009/11/11 17:04:00
筛选和排序,不会影响identify 的连续性,删除行会有影响。
5楼
mr725 发表于:2009/11/11 22:42:00
以下是引用狐狸爸爸在2009-11-11 17:04:00的发言:
筛选和排序,不会影响identify 的连续性,删除行会有影响。

您理解错了吧,我指得是筛选和排序后,Table的position的1-10行,11-20行(即自然行号的行) 等等。。。。。  对应的_indentify不一定是连续的!

[此贴子已经被作者于2009-11-11 22:42:39编辑过]
6楼
mr725 发表于:2009/11/11 23:33:00
楼上的意思我已经懂了,看来是我表达有问题了。 我想说的是: 一个由数据填充器填充过来的表,里面的_identidy次序并不连续,要按行号来加载第一个十行、第二个十行。。。。 等, 是用_identify无法实现的。 只能在这个被填充过来的表中增加临时序号列(1、2、3、......  N),再按你们的SELECT TOP 20 * FROM {被填充的表} where [临时序号列]  not in(SELECT TOP 10  [临时序号列]  FROM {被填充的表}) 来完成~

谢谢了~  呵呵
7楼
狐狸爸爸 发表于:2009/11/11 23:37:00
分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID NOT IN
           (SELECT TOP 20 id
         FROM TestTable
         ORDER BY id))
ORDER BY ID

SELECT TOP 页大小 *
FROM TestTable
WHERE (ID NOT IN
           (SELECT TOP 页大小*页数 id
         FROM 表
         ORDER BY id))
ORDER BY ID
-------------------------------------
分页方案二:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID >
           (SELECT MAX(id)
         FROM (SELECT TOP 20 id
                 FROM TestTable
                 ORDER BY id) AS T))
ORDER BY ID

SELECT TOP 页大小 *
FROM TestTable
WHERE (ID >
           (SELECT MAX(id)
         FROM (SELECT TOP 页大小*页数 id
                 FROM 表
                 ORDER BY id) AS T))
ORDER BY ID
8楼
狐狸爸爸 发表于:2009/11/11 23:40:00
建议用方案二,效率高一些。
9楼
mr725 发表于:2009/11/12 0:07:00

呵呵,sql语句太难懂了。 我的目的就是要分页打印指定的行数。    这种分页 我在http://www.foxtable.com/dispbbs.asp?boardid=2&id=4941&page=1&star=2 18楼代码就可以实现分页打印了。。。。。。。。。。

[此贴子已经被作者于2009-11-12 0:09:50编辑过]
10楼
狐狸爸爸 发表于:2009/11/12 8:47:00
呵呵,虽然不符合你的要求,但是可别忽视8楼的东西,这可不是一般的有用,而是是非常有用。
共23 条记录, 每页显示 10 条, 页签: [1] [2][3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.