Ciao Ho una domanda come questa:mysql RAND() LIMITE
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
Si deve visualizzare in modo casuale 20 hotel ogni volta funziona, ma, invece, sto finendo ottenere lo stesso 20 hotel di volta in volta. La lunga storia breve RAND()
non sembra funzionare e non riesco a trovare alcun errore logico.
MODIFICA: problema risolto. Mysql non vede RAND interno() ecco il modo corretto per farlo:
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()' è terribilmente inefficiente - probabilmente si dovrebbe cercare di trovare un'altra soluzione. Indipendentemente da ciò, se sposti 'ORDER BY RAND()' all'esterno di ')', funziona? – Swadq