在LIMIT

时间:2016-11-30 02:55:44

标签: php mysql sql

注意:可能的重复mysql RAND() LIMIT没有解决答案,因为在我的sql中,我的ORDER BY和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()

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,一个选项是进行子选择,以便您可以在执行订单之前执行限制:

thumbs_up