Just nu i M3-nätverket
Gå till innehåll

Slumpa fram ett resultat från en topplista


mr Loco

Rekommendera Poster

Hej!

 

Jag försöker göra en funktion i MySQL/PHP som slumpvis hämtar ut 1 av de 50 populäraste inläggen och listar det på sidan.

 

Problemet är att jag inte lyckats skriva en SQL sträng som åstadkommer detta då det essentiellt ju är två SQL-frågor, eller? Jag försökte mig först på att använda mig av en Subquery som hämtade de 50 populäraste inläggen (Se nedan), men MySQL gillade inte att det fanns en LIMIT i en Subquery.

 

SELECT COUNT(a.ID) AS antal, a.inlagg, b.anvandarnamn
FROM inlagg AS a, anvandare AS b 
WHERE a.userID = b.userID 
AND a.ID IN (SELECT ID FROM inlagg ORDER BY popular DESC LIMIT 50)
ORDER BY RAND()

Länk till kommentar
Dela på andra webbplatser

Kanske (tidigt på morgonen och jag har inte tillgång till databas att testa med :)

 

select COUNT(a.ID) AS antal, a.inlagg, b.anvandarnamn

from (SELECT ID,inlagg,userID FROM inlagg ORDER BY popular DESC LIMIT 50) as a

left join anvandare AS b on a.userID = b.userID

ORDER BY RAND()

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...