gpt4 book ai didi

mysql - SQL 查询,从筛选的选择中获取随机行

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

我使用以下 SQL 查询来获取两个随机行。

entry.sql
SELECT id, userID, img, points, votes
FROM entry
WHERE rotation = 1
ORDER BY RAND()
LIMIT 2

现在我想过滤可能的行。我在这里通过旋转来做到这一点,但我想要更多。

我有第二个和第三个表,如下所示:

users.sql    
ID | username

voted.sql
ID | userID | entryID | timestamp

我只想获取用户尚未投票的行。因此,我们应该从 voted.sql 获取 user 的所有 entryID 并确保上面的查询不会选择它们,我该如何这样做吗?

或者您会以不同的方式保存数据,以使已投票检查更容易吗?

最佳答案

使用联接或子查询来执行此操作,例如:

SELECT id, user.userID, entry.img, entry.points, entry.votes
FROM entry
WHERE userID NOT IN (SELECT DISTINCT userID
FROM voted
WHERE userID = entry.userID);

关于mysql - SQL 查询,从筛选的选择中获取随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934323/

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