[英]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.