有一个mysql的数据表,我要随机抽取10条记录,用什么方法最好。

有一个mysql的数据表,我要随机抽取10条记录,用什么方法最好。,第1张

1.通过MYSQL内置的函数来 *** 作,具体SQL代码如下:

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 />'

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6779551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存