Xin chào Tôi có một câu hỏi như thế này:mysql RAND() LIMIT
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
Nó sẽ hiển thị một cách ngẫu nhiên 20 khách sạn mỗi lần nó hoạt động nhưng thay vào đó, tôi kết thúc nhận được cùng 20 khách sạn mỗi lần. Câu chuyện dài ngắn RAND()
dường như không hoạt động và tôi dường như không tìm thấy bất kỳ lỗi logic nào.
EDIT: Sự cố được giải quyết. Mysql không thấy RAND trong() vì vậy đây là cách chính xác để làm điều đó:
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
'ORDER BY RAND() 'là terribly không hiệu quả - có lẽ bạn nên thử và tìm một giải pháp khác. Bất kể, nếu bạn di chuyển 'ORDER BY RAND()' sang bên ngoài ')', nó có hoạt động không? – Swadq