我想在查询中使用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 |
+----+---------+
+ ---- + | id | + ---- + | | | | | | | | | | | | | | | || |
答案 0 :(得分:1)
如果我理解你的问题,我认为你需要这个:
SELECT id, name
FROM
(SELECT id, name FROM table ORDER BY id DESC LIMIT 3) s
ORDER BY rand()
LIMIT 1
答案 1 :(得分:0)