SELECT * FROM tablename ORDER BY RAND() LIMIT 10
2.不要将大量的工作给数据库去做,这样会导致数据库在某一集中并发时间内锁死并阻塞。
建议通过PHP随机生成一下1-X(总行数)之间的数字,然后将这10个随机数字作为查询条件,具体语句如:
SELECT * FROM tablename where ID in (2,8,4,11,12,9,3,1,33)
可能你还要进行重复排除,并且需要在程序中将10个值串联并连接进入SQL语句中。
mysql:SELECT * FROM table order by rand() limit 10从数据库随机取出来之后再用php处理一下,按照你的需求再排序咯。然后楼主还有什么疑问的话,还不懂,可以去后盾人看看,里面有些资料,兴许能够帮助你
$result = mysql_query('select * from mytable limit 0, 20')$i = 0
while ($rs = mysql_fetch_array($result))
{
echo $rs['myfield'].' '
$i++
if ($i == 10)
{
echo '<br />'
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)