如果我从总共50部电影中随机选择20部电影,
SELECT movieName
FROM movies
ORDER BY random()
LIMIT 20
那么我如何继续从剩下的30部电影中随机选择10部呢?
如果我继续使用上面的代码,就会出现重复键值错误。
发布于 2016-10-19 15:51:58
您可以在如下所示的新查询中使用您的查询:
SELECT
movieName
FROM
movies
WHERE
movieName not in (SELECT film_id FROM film ORDER BY random() LIMIT 20)
ORDER BY
random()
LIMIT 10;
您不会看到第一次查询时选择的20部电影。在这种情况下,只有选择20部电影的结果,然后选择剩余30部电影中的10部。
请记住,如果您首先使用语句,然后执行此查询,则subselect(您的查询)将返回比第一次执行时更多的随机电影。
希望你能帮助我!
https://stackoverflow.com/questions/40125052
复制相似问题