如我想从 table1 中读取10条纪录,但又不按顺序读取,而时从所有纪录中随机读取10条,那么应该怎样实现 ?
解决方案 »
- insert into 语法错误?插入中有时间字段,数据库为SQLSERVER2000
- 如何写个通用过程:在单点每个FORM上的任意一个DBGridEh的列标题时都能排序?
- 大家好,请问mscomm32.ocx为什么安装不上
- 请关注一下!关于指针的!
- 一道面试题
- VBScript 如何取得字符串的长度和如何修改字符串中的单个字符?
- 请教一个关于对话框的问题
- 如何快速地将文本插入到TWebbrowser,并使TWebbrowser有往下滚的效果
- 请教:怎样在ListView中的vsList下,让Item的Caption包含长字符?
- 是不是我的regsvr32出了问题?
- 如何取得ADOQuery返回的数据记录总数?
- 做个调查,有多少开发人员?
做的是一个题库,老师要从中选出一定数量的题目,生成试卷,
但要随机选取,那么应该怎样实现,是从 sql语句着手还是从其他方面着手 ?
题目编号是有阿,从 1 一直排下去。
如果先得到随机数,那不是一个一个题目 select 下去?
十来条纪录可能没所谓,但要是一百多条的随机纪录读取的话那不是要select 一百多次?
好像不太方便吧
select 题目号,题目标题 from tbl题目 where 题目号 in (1,6,5,.....)
注:(1,6,5,.....)怎么得来:可以用一个字符串拼接起来。
应该有数了吧
Select * from table1
where No in (':parma1',':param2',....... )
这样可以一下子全抓出来,不过你要写不少参数哦。
或者写个循环,一次抓一条,多抓几次,数据库多做点啦。
http://www.delphiboy.com/cgi-bin/doc/datacontent.php?no=349
你得到一系列不重复的随机整数,然后根据这些随机数到数据里面找"题目编号"等于随机数的记录即可.同意。也同意select 题目号,题目标题 from tbl题目 where 题目号 in (1,6,5,.....)