求一解决方法
单选题表:
ID
题目
选项A
选项B
选项C
选项D
我现在想从这表中随机选出三道题ID(要注意这样的问题.ID不一定会连续)要求:可以用sql语句
可以结合.net
单选题表:
ID
题目
选项A
选项B
选项C
选项D
我现在想从这表中随机选出三道题ID(要注意这样的问题.ID不一定会连续)要求:可以用sql语句
可以结合.net
解决方案 »
- 把HTML password控件改成服务控件不能赋值?
- 求救,很急,CHEKBOX控件选择问题
- GridView绑定数据
- 高手看过来,帮帮忙了,解决就结分
- 怎样在自定义控件里读取父页面的ViewState?
- 动态添加用户控件后,用户控件中的LinkButton不能响应Click事件
- .net mvc怎么集成编辑器
- 在服务器上装上autocad 在客户端能打开的他的图进行观看吗?
- 表名为变量时如何写select语句?
- 今年假期想拿.net打工,在广州;
- 生日!!
- |zyciis| 请问一下哪里有.NET 正则表达式的电子书下载啊 我买了精通正则表达式(电子工业出版社 Jeffrey E.F. Friedl著) 的但看起来没用
那么你就 把你所有的 题目都查出来
然后构造一个 DataTable 然后创建一个编号列(T_ID)然后设置成自动增长的这样你就可以根据这个datatable来查询了,然后new 一个Randmon 这样的话 你就能够取出 随即的三道了
楼主执行几次试下,每次随即取
利用 SQL Server 的 NewID() 方法就可以很轻松地达到这个目的。NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4
在 select 表的时候,再增加一列为 NewID() 就可以了。
SQL 语句:select *, NewID() from table
这样每条记录后就会有一个随机的 GUID 值,我们再按这个 GUID 排一下序就可以达到乱序的效果。
SQL 语句:select *, NewID() as random from table order by random我们要想随机取出 10 条数据,只要加上 TOP 10 就行了:
SQL 语句:select top 10 *, NewID() as random from table order by random筛选唯一记录
SELECT * FROM tablename ORDER BY NEWID()这个方法只适用于 SQL Server。
------
存储过程是
--产生随机卡号的存储过程
if exists (select * from sysobjects where name='proc_randCardID')
drop procedure proc_randCardID
go
create procedure proc_randCardID
@randCardID varchar(20) output
as
declare @r numeric(15,8),@tempstr varchar(10)
select @r=rand((datepart(mm,getdate())*100000)+(datepart(ss,getdate())*1000)+datepart(ms,getdate()))
set @tempstr=cast(@r as varchar)
set @randCardID='1010 3576 '+substring(@tempstr,3,4)+' '+substring(@tempstr,5,4)
go
------------
或者另外一种思路吧
把所有的ID取出现,再从中随机生成3个号,再通过这三个号去读取题目,C#里可以生成随机数