注意:可能的重複mysql RAND() LIMIT沒有解決答案,因爲在我的sql中,我的ORDER BY和LIMIT已經在一起。在LIMIT中顯示唯一的隨機記錄
我想表現出獨特的隨機記錄,但該範圍內,但是當我在SQL中使用RAND()它拉隨機記錄,超出我的極限範圍:
SELECT DISTINCT cases.caseid, cases.img, casetypes.casetypeid, cases.cost
FROM cases, casetypes
WHERE cases.caseid = casetypes.caseid AND casetypes.mastercaseid = $mastercaseid
ORDER BY RAND()
LIMIT $lastrow, $perPage
編輯:這工作了我基於以下答案:
SELECT * FROM (
SELECT DISTINCT cases.caseid, cases.img, casetypes.casetypeid, cases.cost
FROM cases, casetypes
WHERE cases.caseid = casetypes.caseid AND casetypes.mastercaseid = $mastercaseid
LIMIT $lastrow, $perPage
) x
ORDER BY RAND()
爲什麼不在「WHERE」子句中添加另一個條件來限制某個範圍?假設有許多可用的,那麼'LIMIT'子句仍然應該返回你想要的記錄數。 –
可能重複的[mysql的RAND()限制](http://stackoverflow.com/questions/13797553/mysql-rand-limit) –
@CoderofCode我看到那篇文章,但我的ORDER BY和LIMIT已經在一起。 – obreezy