怎么从mysql中随机取出10条数据

怎么从mysql中随机取出10条数据,第1张

试试下面的代码:

MySQL select 10 random rows from 600K rows fast

ORDER BY RAND()

或者生成10个随机数然后用随机数查询。

下面是字符串

$query="select * from member where fenlei in (1,2,3,4) order by id desc"

$result=mysql_query($query,$db)

$len=1

$i = 0

while ($res=mysql_fetch_array($result))

{

$arraylist[$len].=$res['fenlei'].'-'.$res[name].'<br>'

$i++

if(is_int($i/10))

{

$len++

$i = 0

}

}

echo $arraylist[1]

echo $arraylist[2]

echo $arraylist[3]

echo $arraylist[4]

下面是数组,

$query="select * from member where fenlei in (1,2,3,4) order by id desc"

$result=mysql_query($query,$db)

$len=1

$i = 0

while ($res=mysql_fetch_array($result))

{

$arraylist[$i] = $res[name]

$i++

$tr_list[$len] = $arraylist

if(is_int($i/10))

{

$len++

$i = 0

}

}

print_r($tr_list[1])

print_r($tr_list[2])

print_r($tr_list[3])

print_r($tr_list[4])

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语句中。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/162518.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存