men det funkar ju inte.
Vad menar du med det?
Det är inget syntaktiskt fel i den frågan.
Flyttas från Mysql
Databaser & SQLur Databashanterare & SQL
5 svar · 263 visningar · startad av ironhead
Hej!
Jag vill kunna köra ORDER BY på en uträkning...
Jag har en tabell med bl.a. fält som rating (poäng) och votes (antal röstningar)...nu skulle jag vilja skiva SQL-satsen såhär:
SELECT * FROM movies ORDER BY (rating/votes) DESC LIMIT 10
..men det funkar ju inte...hur ska man kunna göra beräkningen så att man kan sortera på de 10 filmer som fått högst medelbetyg?
men det funkar ju inte.
Vad menar du med det?
Det är inget syntaktiskt fel i den frågan.
Flyttas från Mysql
Jag får inget resultat alls....
inte en post skrivs ut
Använder denna fråga till MySQL 3.58 och den fungerar utmärkt:
$strSQL = "SELECT Id, Hemsida, Desciption, Hit, sumBetyg, antalVotes
FROM link WHERE sumBetyg > 0 AND antalVotes > 0
ORDER BY (sumBetyg +0.0)/ (antalVotes+0.0) DESC
LIMIT 15";
Om du tar bort order by, blir det någon skillnad?
Kan votes vara 0? I så fall
SELECT * FROM movies ORDER BY (rating/case when votes = 0 then 1.0 else votes end) DESC LIMIT 10
Men då tycker man (i alla fall jag) att du borde ha fått ett fel från Mysql.
Nu funkar det bra...tack LarsG ;)
Det var värdet 0 (noll) som ställde till det....men dock inget felmeddelande :q