道招

随机从数据库取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"; } 这样不就行了吗。
更新时间:
上一篇:华硕推送4.2更新至TF300,TF700用户得再等等下一篇:苹果在日本开设ibookstore

相关文章

SQL批量替换字符串的方法

在SQL SERVER中批量替换字符串的方法 update table[表名] set Fields[字段名]=replace(Fields[字段名],'被替换原内容','要替换 成的 阅读更多…

eclipse使用sqlexplorer插件(图文)

前提是你已经安装了sql explorer插件。 不会安装插件的请见    eclipse添加插件 重新启动Eclipse后,可以在菜单W 阅读更多…

用sql语句修改数据库结构

用sql语句对数据库或表的结构进行修改 ALTER TABLE:添加,修改,删除表的列,约束等表的定义。 sp_rename:SQLServer 内置的存储过程,用与修改表的定义。 1、查看列: 阅读更多…

关注道招网公众帐号
道招开发者二群