Possible Duplicate:
What is the fastest way of selecting 2 columns from the same (random) record in MySQL?
我希望从同一条记录中随机检索一对列。然而,我听说兰德效率很低,所以我想使用不同的方式。 (很多文章都这么说,包括 http://akinas.com/pages/en/blog/mysql_random_row/ )。
所以是的,我的标题几乎说明了一切。示例:记录:
12, James, Clarinet, Chicken
16, Billy, Drums, Bacon
15, Shane, Guitar, Pizza
系统会随机选择一条记录。然后它会回显“一个名为 $firstname 的男孩喜欢 $favoritefood”。
类似这样的事情。帮忙?
最佳答案
嗯:-?这是一些代码:
<?php
$total=mysql_query('SELECT COUNT(*) FROM `table`;');
$total=mysql_fetch_array($total);
$total=$total[0];
$row=mysql_fetch_array(mysql_query('SELECT * FROM `table` LIMIT '.mt_rand(0,$total-1).', 1;'));
?>
它的作用是找到当前行数,然后使用 LIMIT 专门针对随机行,它的工作方式与 Oracle 中的 rownum 类似...类似。
关于php - 从 MySQL 中的同一(随机)记录中选择 2 列的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5521168/