这个SQL语句能实现吗?高手指点一下。

cjxiaoh 2002-12-05 11:25:26
这样一个SQL语句,select * from t_aa where zxm like '张%';在我的数据库中可以检索出5000条数据,我想任意取出其中10条可以吗?(或者先取出前10条,然后接着的10条....)想了好久没有办法。
...全文
28 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyFor 2002-12-05
  • 打赏
  • 举报
回复
1,1-10

select top 10 * from t_aa where zxm like '张%'

2,11-20

select top 10 from t_aa where zxm like '张%' and id not in(select top 10 id from t_aa where zxm like '张%')
ID为表中具有唯一性的任何字段

蓝天 2002-12-05
  • 打赏
  • 举报
回复
可以把上面的做法包装包装做个存储过程,你用的时候调用存储过程就可以了
蓝天 2002-12-05
  • 打赏
  • 举报
回复
select identity(int,1,1) as rownum ,* into #tmp from t_aa where zxm like '张%'

select * from #tmp where rownum <20 and rownum >=10

用上面方法查出第10到20条数据。
cjxiaoh 2002-12-05
  • 打赏
  • 举报
回复
查一次方法不妥吧,如果我一次查出500000条怎么办,恐怕内存不够显示会出问题的。我是想怎么用SQL语句一下一下的查,而不是先统统查出来。
CCEO 2002-12-05
  • 打赏
  • 举报
回复
用什么客户端都一样,这是sql 语句

蓝天 2002-12-05
  • 打赏
  • 举报
回复
select * from t_aa where zxm like '张%'

select top 10 * from t_aa where zxm like '张%'

对数据库查询是一样的,所以建议还是查一次数据库然后在客户端分批显示。
cjxiaoh 2002-12-05
  • 打赏
  • 举报
回复
我用的是vb和pb。
CCEO 2002-12-05
  • 打赏
  • 举报
回复
试一下,是不是很好玩?!
CCEO 2002-12-05
  • 打赏
  • 举报
回复
select top 10 * from t_aa where zxm like '张%'
order by NEWID()
caoyq 2002-12-05
  • 打赏
  • 举报
回复
select top 10 * from t_aa where zxm like '张%'
日总是我哥 2002-12-05
  • 打赏
  • 举报
回复
不知道你用的是什么语言??!
如果是Delphi的话,可以使用TClientDataSet
设定PacketRecords的值
CCEO 2002-12-05
  • 打赏
  • 举报
回复
呵呵,还在讨论?!!
fuxc 2002-12-05
  • 打赏
  • 举报
回复
sorry!我讲错了,对自己刚刚讲的话产生怀疑,测试了一下:
pagesize使用客户端游标,会一次返回所有记录,pagesize只是方便本地操作。
fuxc 2002-12-05
  • 打赏
  • 举报
回复
用ado的pagesize、absolutepage属性,不会一次返回5000条记录的,查多少返回多少~~

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧