gpt4 book ai didi

MySQL - 拉随机行并确保没有冲突

转载 作者:行者123 更新时间:2023-11-29 06:06:32 25 4
gpt4 key购买 nike

这是一个奇怪的问题,我真的不知道如何用标题来表达。

我有一个引擎可以随机提取 2 个项目进行比较。

当您为其中一项“投票”时,它会将选中的项目和未选中的项目的 ID 记录到表格中。

我想防止该组合再次被提取,如果可能的话,我想在一个或两个查询中完成。

最终将比较所有项目,因此它只会返回一行。

示例表结构:

id, user_id, selected_item_id, not_selected_item_id

当我对 item 表进行查询时,我需要确保它不会提取冲突的记录。

最佳答案

以下查询将选择两个您尚未投票的随机项目:

SELECT i.item_id
FROM items i
LEFT OUTER JOIN votes v
ON i.item_id IN (v.selected_item_id, v.not_selected_item_id)
WHERE v.id IS NULL
ORDER BY RAND()
LIMIT 2

这对于连接或随机选择都不是很有效。但这对于小型数据集来说已经足够了。

关于MySQL - 拉随机行并确保没有冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195769/

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