PHP-从表中选择随机行
我的桌子大约有10万行。如何查询最后10个添加行中的1个随机行?我有一个日期列,它是添加行时的日期时间 这是我用来获取最后10行的: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
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的限制。tryORDER BY RAND()
。这是否回答了您的问题?非常好用,谢谢!