Medeltal

Databaser & SQL

2 svar · 185 visningar · startad av Jörgen HP

Medlem sedan feb. 20012 412 inlägg
Trådstart#1

Tjenixxen!

Om man har en tabell med två fält av typen Integer, låt oss antaga att de heter sumBetyg och antalVotes. Om man vill göra en hämtning från tabellen och sortera efter medeltalet av dessa fält, hur gör man då?

Jag testade:

$strSQL = "SELECT Id, Hemsida, Desciption, Hit, sumBetyg, antalVotes 
FROM link 
WHERE Shown = 1 
ORDER BY sumBetyg / antalVotes ASC LIMIT 15";

Den sorterar ej riktigt, men jag får inget fel heller. :(

Medlem sedan dec. 200012 464 inlägg
#2

Vadå inte riktigt? Kan du exemplifiera?

Det kanske är något problem med att det blir heltalsdivision.

ORDER BY (sumBetyg +0.0)/ (antalVotes+0.0) ASC LIMIT 15";
Medlem sedan feb. 20012 412 inlägg
#3

Tack LarsG!

Det berodde på två saker, dels det du föreslog ovan, samt att jag glömde kolla så att det inte blev division med 0. :r

Bugar och bockar!

250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)