繁体   English   中英

PHP - Select 表中的随机行

[英]PHP - Select random row from table

我的表有大约 10k 行。 如何查询 select 最后 10 个添加行的 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 *来获取整行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM