gpt4 book ai didi

mysql - rand() 仅获取表中的最后 20 行

转载 作者:行者123 更新时间:2023-11-29 04:14:46 24 4
gpt4 key购买 nike

假设我的表格 posts 中有 1000 行。

我想忽略 980 行,rand() 只显示最新的 20 行并且只向用户显示 4 个结果(这 4 行总是在最新的 20 行中)。

id 是自动递增的,所以我想获取最后 20 个 id。

select id, name, photo, text from posts order by rand() limit 4

这将遍历所有 1000 行并获得 4 个结果。我只想随机分配最新的 20 个 ids 并显示结果,例如:

993 - josh - img.jpg - some text
987 - marie - img2.jpg - some text
982 - ben - img3.jpg - some text
995 - alfred - img4.jpg - some text

请注意,我只对 id 980 到 1000 进行随机分配。有什么想法可以实现吗?

最佳答案

只需使用嵌套的 SELECT,首先选择最后 20 篇文章(使用 ORDER BY id DESC),然后随机选择其中的 4 篇文章:

SELECT *
FROM (SELECT id, name, photo, text
FROM posts
ORDER BY id DESC
LIMIT 20) p
ORDER BY RAND()
LIMIT 4

关于mysql - rand() 仅获取表中的最后 20 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57426410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com