$benzer1 = mysql_query("SELECT * FROM posts ORDER BY okunma DESC, RAND() LIMIT 5 ");Olarak da çalışması lazım.
Seninkinde en çok okunan 5 kaydı değil, 0 den çok okunan tüm kayıtlar içinden rastgele 5 çeker.
Tekrar ediyorum yukarıda php ile örnek verdim. Rand 1000 üzerinde kayıt olduğunda yanıt süresini ve işlemci kullanımı çok arttırır.
$query = mysql_query("SELECT * FROM (SELECT * from posts ORDER BY okunma DESC LIMIT 5) ORDER BY rand()");Doğruluğu hakkında emin değilim ama bu tarz birşey olması gerekir.
Verdiğiniz sorgunun tam zıttı yani
$query = mysql_query("SELECT * FROM (SELECT * from posts ORDER BY okunma DESC LIMIT 5) ORDER BY rand()");bu değilde
bu olucak.
SELECT * FROM (SELECT * FROM posts WHERE okunma !=0 ORDER BY rand() LIMIT 5) posts ORDER BY okunma DESC
Teşekkür ederim herkese.