发现:用where in查询后,记录集原来不是按照in后面内容的顺序排列!
编写一个随机抽题的考试系统,发现sql中按照where in的方式取得的记录集不是按照where in后面的选择列表顺序排列,如何解决,还请各位高人指点,谢谢!!!!积善之家必有余庆!!!
简单来说,就是
sql="select * from question1 where id in('5','3','1')"
我希望记录集的顺序是5 3 1
但是实际情况是1,3,5
抽题.asp
改卷.asp
经过检查,rs记录集中没有按照预期估计的5,3,6,10,...的随机抽取的题号作为顺序显示的,而是按照1,2,3,...100的顺序显示,这样的话,就会造成改卷时题号字段(随机)和答案字段(顺序)对不上的问题了,请问这种问题怎么解决呢?谢谢
简单来说,就是
sql="select * from question1 where id in('5','3','1')"
我希望记录集的顺序是5 3 1
但是实际情况是1,3,5
抽题.asp
sql="select top 100 * from question1 where type='单选题' order by NewID()
'实现随机抽取题目的sql语句
.....
for i=1 to 100
......‘打印试题
strid1=strid1 & rs("ID") & "," ’记录随机抽取的每道题题号
rs.movenext
......
next
改卷.asp
id1=split(str1,",")
sql="select answer from question1 where id in("+str1+")"
'经测试,str1中存放着随机抽取的题号,比如5,3,6,10,...
'本希望记录集的顺序是按照str1中存放的随机id来显示的
rs.open sql,conn,1,1
rs.movefirst
‘下面判分改卷
经过检查,rs记录集中没有按照预期估计的5,3,6,10,...的随机抽取的题号作为顺序显示的,而是按照1,2,3,...100的顺序显示,这样的话,就会造成改卷时题号字段(随机)和答案字段(顺序)对不上的问题了,请问这种问题怎么解决呢?谢谢
...全文
相关推荐
SqlServer参数化查询之where in和like实现详解
= string.Format("SELECT * FROM Users(nolock) WHERE UserID IN ({0})", userIds);```然而,这种做法在处理大量数据时存在性能问题
Sql Server参数化查询之where in和like实现详解
其中,where in和like是两个常用的查询条件,然而它们的参数化实现却不是那么简单。本文将详细介绍where in和like的参数化查询实现方法。
pandas 像SQL一样使用WHERE IN查询条件说明
本篇将详细解释如何在pandas中使用WHERE IN查询条件,以及如何进行条件组合筛选和按范围筛选。WHERE IN查询是SQL中的一个常用条件,用于选取符合特定值列表的行。
MySQL查询条件中in会用到索引吗
例如,如果`idx_port`是`port`字段上的索引,那么查询`SELECT * FROM pre_request_logs_20180524 WHERE port IN (10653, 30426
详解 Mysql查询结果顺序按 in() 中ID 的顺序排列
, style_title, style_pic FROM gb_style WHERE online = 1 AND is_hide = 0 and style_num_id in <foreach


