SQL Server:
SELECT TOP 10 FROM T_USER ORDER BY NEWID()
ORACLE:
SELECT FROM (SELECT FROM T_USER ORDER BY DBMS_RANDOMRANDOM()) WHERE RONUM <= 10
MySQL:
SELECT FROM T_USER ORDER BY RAND() LIMIT 10
Access:
SELECT TOP 10 FROM T_USER ORDER BY rnd([一个自动编号字段])
这条语句在 Access 中的“查询”中是可以运行并得到随机结果的,但在 ASPNET等后台程序代码中却无法得到预期的随机效果。
正确的写法如下:
以ASPNET为例:
Random random = new Random(SystemGuidNewGuid()GetHashCode());
int r = randomNext();
string sql = "SELECT TOP 10 FROM T_USER ORDER BY RND(" + (-r) + "自动编号字段)"
你要随机,表里就给有一个ID
function rands($num,$max){
for($i=0;$i<$num;$i++){
$a[]=rand(0,$max);
}
return $a;
}
$a=implode(',',$a);
$sql="select from tablename where id in($a)";
$rl=mysql_query($sql);
while($r=mysql_fetch_array($rl)){
$str=$r['title'];
}
echo $str;
<%
Set conn=serverCreateObject("adodbconnection")
connprovider="microsoftjetoledb40"
connopen servermappath("englishmdb")Set rs=serverCreateObject("adodbrecordset")
rsopen "select from sentence",conn,1,1 '先读取全部记录max=rsrecordcount ‘读取最大记录数
For i=1 To 7 ’随机输出7个
randomize
id=Int(Rnd(now)max+1) ‘定义从1到最大记录数之间的随机记录号
rsabsoluteposition=id ’定义记录集的绝对指针
ResponseWrite rs(0)&rs(1)&rs(2)
Next
%>
以上就是关于sql 随机抽取几条数据的方法 推荐全部的内容,包括:sql 随机抽取几条数据的方法 推荐、PHP从MYSQL数据库中随机读取若干条数据,并将数据合并为一条数据,在赋值给一个变量。要怎么实现、asp中如何随机读取数据库数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)