优选主流主机商
任何主机均需规范使用

高效SQL技巧:如何随机抽取MySQL和MSSQL数据库中的10条数据

access 随机 10条数据的方法

select * from table order by rnd(id)

其中rnd(id)中的id为表中的自增长字段
access随机显示记录(不重复)解决方案

<%

‘————————-数据库连接———————–

Set objConn = Server.CreateObject(“ADODB.Connection”)

objConn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;” &_

“Data Source=” & Server.MapPath(“data.mdb”)

objConn.Open

‘————————-数据库连接———————–

‘————————-检索数据———————–

strSQL = “SELECT id,DataColumn FROM DataTable”

‘Sql语句,检索数据库

Set objRS = Server.CreateObject(“ADODB.Recordset”)

‘创建记录集

objRS.Open strSQL, objConn, 1, 1

‘执行检索

Count=objRS.RecordCount

‘得到记录总数

Item=4

‘显示记录数

‘————————-检索数据———————–

‘——————————————————————————-

redim a(Item, 2),t(Count)

‘定义2数组,数组a用来储存记录,数组t用来删选记录

‘—————————————

‘初始数组数值,目的为了插入数据以后和此值做比较

for each j in t

j=0

next

‘—————————————

‘—————————————

‘ 随机抽取记录号

Randomize timer ‘初始化随机数生成器

for j=1 to Item

k=int(rnd*Count+1) ‘从总数里面随机取一条记录

do while t(k)<>0 ‘判断是否记录是否已经在数组中

k=int(rnd*Item+1)

loop

t(k)=1 ‘第k条记录被选中

next

‘————————————–

j=1:i=1’定义下标

‘————————————–

‘ 循环选取数据集objRS中的部分记录存放到数组中

Do While Not objRS.Eof

if t(j)=1 then

a(i,1)=objRS(“id”) ‘记录id

a(i,2)=objRS(“DataColumn”) ‘记录内容

i=i+1

end if

j=j+1

objRS.MoveNext

Loop

‘————————————–

‘——————————————————————————-

‘—————————-显示内容——————–

for i=1 to Item

Response.write “序号”&a(i,1)&”

Response.write “内容”&a(i,2)&”


next
‘—————————-显示内容——————–
‘—————————
‘释放资源
objRs.Close
set objRs=nothing
objConn.Close
set objConn=nothing
‘—————————
%>

mssql 随机 10条记录

select * from talbe order by newid()

mysql 随机 10条记录

select * from table order by rand() limit 0,10

未经允许不得转载:搬瓦工中文网 » 高效SQL技巧:如何随机抽取MySQL和MSSQL数据库中的10条数据