道招

随机从数据库取n条记录

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

随机从数据库取n条记录

如果要从随机从数据库取n条记录,我看网上更多的是使用的sql="select * from tablename where id >= ((SELECT MAX(id) FROM tablename)-(SELECT MIN(id) FROM tablename)) * RAND() + (SELECT MIN(id) FROM tablename)order by rand() LIMIT  N";其实我也比较喜欢这个语句,可是我现在做的一个东西不适用,为什么呢?因为的数据库里面的id不连续,并且他们之前的跳跃间断还会有几百甚至上千的数,比如类似1938443 1939888 2007888这些的三条记录是挨在一起的,那样上面语句的很可能取到的记录并没有什么变化。最后想了想,可以用一种比较笨的办法,利用循环来设计sql。 $firstsql="SELECT * FROM tablename "; $totalnum=mysql_num_rows (mysql_query ($firstsql, $conn)); //取得数据库的记录数 for ($i = 0; $i < N; $i++) { $id = rand(1, $totalnum); $sql = "select * from tablename order by id desc limit N, 1"; } 这样不就行了吗。
更新时间:
上一篇:下一篇:

相关文章

关注道招网公众帐号
友情链接
消息推送
道招网关注互联网,分享IT资讯,前沿科技、编程技术,是否允许文章更新后推送通知消息。
允许
不用了