22. december 2006 - 13:09Der er
3 kommentarer og 1 løsning
Finde højeste karakter ud fra mysql
Hej, jeg har en database med en tabel som hedder karakter. I den tabel har jeg nogle felter som hedder id,userid,index1, index2, index3, index4. Der kan godt være flere forekomster med samme userid.
Hvis jeg så gerne vil vide hvilken bruger der har det højeste gennemsnit ud af alle de "bedømmelser" der ligger i databasen, hvordan gør jeg så det smartest ?
(Dvs. en bruger kan godt være vurderet 20 gange, og en anden kun 4 gange. Men den skal give mig brugerid'en på den bruger som har bedst gennemsnit.)
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
noget i stil med "SELECT SUM(index1,index2,index3,index4) FROM karakter GROUP BY userId", men jeg vil foreslå du flytter spørgsmål til MySQL kategorien, da dette er et SQL og ikke PHP spørgsmål.
Synes godt om
Slettet bruger
23. december 2006 - 15:53#3
Nu er jeg ikke sikker på, hvad dine index* felter bruges til, men hvis de indeholder karakterer som du gerne vil have en gennemsnit af først, hvorefter du så bruger dette gennemsnit til at finde eleven med det højeste gennemsnit (damn det lyder fucked up, men du ved nok hvad jeg mener :), så skulle du vel kunne gøre noget lignende:
SELECT userid, AVG((index1 + index2 + index3 + index4)/4) as avg_index FROM karakterer GROUP BY userid ORDER BY avg_index DESC LIMIT 1
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.