PHP-从表中选择随机行

PHP-从表中选择随机行,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,我的桌子大约有10万行。如何查询最后10个添加行中的1个随机行?我有一个日期列,它是添加行时的日期时间 这是我用来获取最后10行的: SELECT id FROM mytable order by date desc LIMIT 10 我知道我可以按RAND()LIMIT 1从mytable ORDER中选择id,但只需选择任意随机行,而不是最后10行。一种方法使用子查询: SELECT t.* FROM (SELECT id FROM mytable ORDER B

我的桌子大约有10万行。如何查询最后10个添加行中的1个随机行?我有一个日期列,它是添加行时的日期时间

这是我用来获取最后10行的:

SELECT id FROM mytable order by date desc LIMIT 10

我知道我可以按RAND()LIMIT 1从mytable ORDER中选择id,但只需选择任意随机行,而不是最后10行。

一种方法使用子查询:

SELECT t.*
FROM (SELECT id
      FROM mytable 
      ORDER BY date DESC
      LIMIT 10
     ) t
ORDER BY rand()
LIMIT 1;
此版本使用MySQL的语法约定


您可以在子查询中使用
select*
来获取整行。

您已经尝试了什么?您的表中没有任何
id
编写获取最后10条添加记录的查询,然后将其用作查询中的子查询,该查询对结果进行随机排序,并应用1的限制。try
ORDER BY RAND()
。这是否回答了您的问题?非常好用,谢谢!