PHP - Select 来自 table 的随机行
PHP - Select random row from table
我的 table 有大约 10k 行。如何查询最近添加的 10 行中的 select 随机 1 行?我有一个日期列,它是添加行时的日期时间。
这是我用来获取最后 10 行的方法:
SELECT id FROM mytable order by date desc LIMIT 10
我知道我可以做到 SELECT id FROM mytable ORDER BY RAND() LIMIT 1
但只是选择任意随机行,而不是从最后 10 行中选择。
一种方法使用子查询:
SELECT t.*
FROM (SELECT id
FROM mytable
ORDER BY date DESC
LIMIT 10
) t
ORDER BY rand()
LIMIT 1;
此版本使用 MySQL 的语法约定。
您可以在子查询中使用 select *
来获取整行。
我的 table 有大约 10k 行。如何查询最近添加的 10 行中的 select 随机 1 行?我有一个日期列,它是添加行时的日期时间。
这是我用来获取最后 10 行的方法:
SELECT id FROM mytable order by date desc LIMIT 10
我知道我可以做到 SELECT id FROM mytable ORDER BY RAND() LIMIT 1
但只是选择任意随机行,而不是从最后 10 行中选择。
一种方法使用子查询:
SELECT t.*
FROM (SELECT id
FROM mytable
ORDER BY date DESC
LIMIT 10
) t
ORDER BY rand()
LIMIT 1;
此版本使用 MySQL 的语法约定。
您可以在子查询中使用 select *
来获取整行。