php - 从 MySQL 中的同一(随机)记录中选择 2 列的最快方法是什么?

标签 php mysql sql

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/

相关文章:

php - 从一列中减去另一列的总数 - PHP/MySQL

php - 提前查询。在mysql中对最相关的字段进行排名

javascript - 计算数量乘以单价输入,相等的输入将进行小计并将所有小计相加

java - java和php之间简单的客户端服务器通信

php - 根据数据值更改表中项目的颜色

php - 禁用 woocommerce_checkout_update_customer_data

java - 当我从 postman 登录时,我收到类似 401 Unauthorized 的错误

mysql - 在给定条件的 MYSQL 中按列名查找和排序

kafka Web 控制台的 mysql 配置

java - 从共享首选项类信息中检索变量并将其放入 MySQL 数据库(Android Studio 使用 Volley)