Witam Mam zapytanie tak: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
Należy wyświetlić losowo 20 hoteli za każdym razem, to działa, ale zamiast tego jestem kończąc na uzyskanie tego samego 20 Hotel za każdym razem. Długa historia krótka RAND()
wydaje się nie działać i nie mogę znaleźć żadnego logicznego błędu.
EDYCJA: Problem rozwiązany. Mysql nie widzi wewnętrzną rand(), więc tutaj jest poprawny sposób to zrobić:
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()' jest strasznie nieskuteczny - powinieneś spróbować znaleźć inne rozwiązanie. Niezależnie od tego, jeśli przeniesiesz 'ORDER BY RAND()' na zewnątrz ')', czy to działa? – Swadq