簡體   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