注意:可能的重复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()
答案 0 :(得分:0)
如果我正确理解您的问题,一个选项是进行子选择,以便您可以在执行订单之前执行限制:
thumbs_up