PHP - 从表中选择随机行

时间:2021-04-07 13:36:12

标签: php mysql sql phpmyadmin

我的表大约有 10k 行。如何查询最近添加的 10 行中的随机选择 1 行?我有一个日期列,它是添加行的日期时间。

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

SELECT id FROM mytable order by date desc LIMIT 10

我知道我可以做 SELECT id FROM mytable ORDER BY RAND() LIMIT 1 但这只是选择任何随机行,而不是从最后 10 行中选择。

1 个答案:

答案 0 :(得分:2)

一种方法使用子查询:

SELECT t.*
FROM (SELECT id
      FROM mytable 
      ORDER BY date DESC
      LIMIT 10
     ) t
ORDER BY rand()
LIMIT 1;

此版本使用 MySQL 的语法约定。

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