我想根据日期从最近的 30 行中选择一行。 下面是从所有行中选择随机行,这不是我想要的。
SELECT * FROM product where userId=1 ORDER BY RAND() LIMIT 1
那么我如何从最新的 30 个中进行选择?谢谢。
答案 0 :(得分:1)
子选择将返回最后 30 个,然后您可以从中随机选择一行
SELECT pr.* FROM
( SELECT * from product
WHERE pr.userId=1
ORDER BY created_at DESC
LIMIT 30 ) AS pr
ORDER BY RAND()
LIMIT 1