MySQL子查询返回多行,我想将一个值与所有行进行比较
我试图从一个表中选择一个(随机)记录,其中一个值介于1和9之间,并且它和当时存在的用户ID不在单独的表中(即,它们以前没有一起使用):MySQL子查询返回多行,我想将一个值与所有行进行比较,mysql,subquery,Mysql,Subquery,我试图从一个表中选择一个(随机)记录,其中一个值介于1和9之间,并且它和当时存在的用户ID不在单独的表中(即,它们以前没有一起使用): 但当我运行此命令时,我得到一个子查询返回多行错误,是否有方法让它将QuestionID与历史记录中的所有QuestionID进行比较?是的,您可以使用不在中: SELECT QuestionID FROM Questions WHERE ((Marks BETWEEN 1 AND 9) AND QuestionID NOT IN (
但当我运行此命令时,我得到一个子查询返回多行错误,是否有方法让它将QuestionID与历史记录中的所有QuestionID进行比较?是的,您可以使用
不在中:
SELECT QuestionID
FROM Questions
WHERE ((Marks BETWEEN 1 AND 9)
AND QuestionID NOT IN (
SELECT QuestionID
FROM Username.History
WHERE UserID = 1
)
) ORDER BY RAND() LIMIT 0,1;
只需更换=代码>与不在
中很好,谢谢:)我有点经验不足,所以我不知道命令存在
SELECT QuestionID
FROM Questions
WHERE ((Marks BETWEEN 1 AND 9)
AND QuestionID NOT IN (
SELECT QuestionID
FROM Username.History
WHERE UserID = 1
)
) ORDER BY RAND() LIMIT 0,1;