php - 如何在 1-n 之间选择 RAND()

标签 php mysql sql

我想在查询中使用 RAND() 以便能够执行以下操作:

ODER BY id DESC 并允许 RAND() 在表中最后插入的 3 行之间进行选择。在前端,当页面刷新时,函数 rand 将在 5 - 8 之间进行选择(在表格示例中)并显示这些数字之间的任何数据。

查询示例

function rand()
{
    $sth = $this->db->prepare("SELECT rows FROM table ORDER BY id LIMIT 1");
    $sth->execute();

}

表格示例

+--------------+
| id |   name  |
+--------------+
|  1 |    Jon  |
|  2 |  Sarah  |
|  3 | Stevie  |
|  4 |   Stew  |
|  5 |   Dave  |
|  6 |    Kar  |
|  7 |  Stevo  |
|  8 |  Blake  |
+----+---------+

编辑

+----+ |编号 | +----+ | | | | | | | | | | | | | | | || |

最佳答案

如果我正确理解你的问题,我认为你需要这个:

SELECT id, name
FROM
  (SELECT id, name FROM table ORDER BY id DESC LIMIT 3) s
ORDER BY rand()
LIMIT 1

关于php - 如何在 1-n 之间选择 RAND(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988362/

相关文章:

php - 我正在尝试在 Laravel 数据库上使用多个过滤器

mysql - 如何在用户登录时启动 session 并在用户注销时结束 session

sql - SQL扫描数据库中的先前记录

SQL while 循环与临时表

sql - 将平面表解析为树的最有效/优雅的方法是什么?

javascript - 根据电话键盘将电话号码中的字母转换为数字

PHP/MySQL 计数 (*) 并在 html 中使用 var

php - 连接到 MYSQL 时出错

php - 检测推文或消息的情绪

sql - PostgreSQL utf8 字符比较