您好我有这样的查询:
SELECT otel_id
FROM YAZILIM_menu_icerik
WHERE YAZILIM_menu_icerik.menu_id = 39
AND otel_id IN (
SELECT otel_id
FROM YAZILIM_menu_icerik
WHERE menu_id =$id
ORDER BY RAND()
)
LIMIT 0,20
它应该每次随机显示20家酒店,但相反,我最终每次都得到同样的20家酒店.长话短说RAND()似乎不起作用,我似乎无法找到任何逻辑错误.
编辑:问题解决了. Mysql看不到内部RAND()所以这是正确的方法:
SELECT otel_id
FROM YAZILIM_menu_icerik
WHERE YAZILIM_menu_icerik.menu_id = 39
AND otel_id IN (
SELECT otel_id
FROM YAZILIM_menu_icerik
WHERE menu_id =$id
)
ORDER BY RAND()
LIMIT 0,20