永发信息网

Access数据库读取从前m条到第n条的数据?

答案:3  悬赏:0  手机版
解决时间 2021-03-23 01:45
  • 提问者网友:姑娘长的好罪过
  • 2021-03-22 11:52
Access数据库读取从前m条到第n条的数据,比如读取从第20条到第30条的记录
表的特征是有id 自增长,但id不是连续的比如1,2,3,5,7,8,10,11,15......
望高手指教 如何写SQL语句呢?
MDB数据库

程序用在C# winform中,仅仅需要一个SQL语句就可以了,就不能提供类似:select top m from table where id not in(..............),等等可行的SQL语句,只需要SQL语句,谢谢
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-03-22 12:03
用ID排序,每次抽取10条记录,可以这样写:
select top 10 * from MyTable Where ID>MyTopID

MyTopID初始为0,以后为每次查询结果的最后一条记录的ID
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-03-22 14:52
access数据库不熟悉 不过如果可以使用rownum的话 就是 rownum>=m and rownum<=n 不能使用rownum的话 应该就是用top吧 先取一次top n就是取从1到n 然後在写一个 not in top m 这样就可以取到从m到n了 具体是用m还是m+1 或者m-1你自己看需求测试下吧
  • 2楼网友:归鹤鸣
  • 2021-03-22 13:25
rnd是asp的一个随即函数,但是sql中并无此函数,故,你的这个sql语句是有问题的。 你可以这样写 <% set rs=server.CreateObject("adodb.recordset") rs.open "select top 1 id from url order by id desc",conn,1,1 if not rs.bof and not rs.eof then maxid=rs("id") rs.close function suiji() Randomize suiji=Int((maxid - 1+ 1) * Rnd + 1) end function '然后开始随即提取记录 i=0 do while i<1 rs.open "select * from url where id="&suiji(),conn,1,1 if not rs.bof and not rs.eof then i=i+1 response.write "你现在随即提取的记录的id是"&rs("id") end if rs.close loop %> 这样不就随即提取出来了一个了?呵呵是不是很简单?当然,这个东西如果你随即提取一条是不成问题的,如果提取多条,很可能会有重复显示的现象,那么,如何来让他在提取多条记录时不重复呢?哎,自己多想想吧哈哈,这是我年前写过的小程序了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯