如何从 MySql 的最新 30 行中随机选择 1 行?

时间:2021-02-22 18:20:31

标签: mysql

我想根据日期从最近的 30 行中选择一行。 下面是从所有行中选择随机行,这不是我想要的。

SELECT * FROM product where userId=1 ORDER BY RAND() LIMIT 1

那么我如何从最新的 30 个中进行选择?谢谢。

1 个答案:

答案 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
相关问题