gpt4 book ai didi

mysql - 使用 MYSQL 获取肯定包含给定记录集的随机记录

转载 作者:行者123 更新时间:2023-11-29 04:43:59 27 4
gpt4 key购买 nike

我想像这样使用一个查询;但我知道这不是真正的用法。

我总共需要 15 个类别 ID(4、5、6、9、10 和指定以外的随机 10 个 ID)

试过了

SELECT * 
FROM categories
WHERE id IN (CONCAT('4,5,6,9,10', SELECT id from categories WHERE id NOT IN(4,5,6,9,10) ORDER BY RAND()))
LIMIT 0,10

你能帮我编辑一下吗?

非常感谢。

最佳答案

您不能在 in 子句中混合常量和子查询。以下修复了语法错误,但并没有真正解决问题:

SELECT * 
FROM categories
WHERE id IN (4,5,6,9,10) or
id IN (SELECT id from categories WHERE id NOT IN (4,5,6,9,10) ORDER BY RAND()
)
LIMIT 0,15;

你可以用这种方式做你想做的事:

select *
from categories
order by (id in (4, 5, 6, 9, 10)) desc,
rand()
limit 15;

这将返回 10 行,其中 5 行是您想要的 ID,其余是随机选择的。 (这假定 idcategories 表中是唯一的。)

关于mysql - 使用 MYSQL 获取肯定包含给定记录集的随机记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22557218/

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