【发布时间】:2013-01-26 16:19:55
【问题描述】:
我从这个站点的一些帖子中得到了这个 mysql 选择,99% 的时间它都很好用,但有时它不会返回我要求的随机元素的数量,我不知道为什么。这是一个最近失败的例子:
SELECT DISTINCT movie_title
FROM movies AS r1 JOIN
(SELECT (RAND() * (SELECT MAX(movie_id) FROM movies)) AS id2
) AS r2
WHERE r1.movie_id >= r2.id2 AND movie_title != "New Moon"
ORDER BY r1.movie_id ASC LIMIT 4
答案是这个数组:Array([0] => After Sex,[1] => New Moon) 本来应该是四个的元素只有两个。
我在我的电影网站 (http://www.crosstastemovies.com) 的测验部分使用它。数据库表有大约 1823 部电影。 有人可以解释一下吗?
谢谢
【问题讨论】:
标签: php mysql select random distinct