ORDER BY divison?

Hallo hab ne frage ich habe mir so ein sql befehl geschrieben

SELECT p.member_id, a.album_id, p.picture_id, a.accesslevel, p.filename, p.totalscore / p.totalvotes, m.username, d.data_gender1, m.group_id ,p.totalscore, p.totalvotes
FROM skadate_pictures as p, skadate_members_data as d, skadate_members as m, skadate_albums AS a
WHERE d.data_id=p.member_id AND d.data_id=m.member_id AND a.album_id=p.album_id
AND p.active=‚1‘ AND p.totalvotes>‚0‘
AND a.accesslevel = ‚0‘
AND d.data_gender1=1
ORDER BY p.totalscore / p.totalvotes DESC LIMIT 49;

jetzt wenn ich das ausführe kriege ich auch die Benutzer mit der besten Bewertung aber er schaut nicht auf die Stimmen(votes) ich möchte das er die Benutzer mit der Besten Bewertung ,ABER von denen sollen dann die mit den meisten Stimmen an erster Stelle stehen es gibt halt viele die ne 5.0 und 1 Stimme und die stehen gleich vorne und die anderen die 200 Stimmen haben und ne 5.0 stehen weiter hinten.
hab auch versucht die Zeile zu ändern und
ORDER BY p.totalscore / p.totalvotes,p.totalvotes DESC LIMIT 49;
aber da kriege ich ein ganz komisches Ergebnis das funktioniert nicht was muss ich denn machen?

Danke

Moin, Thomas,

wenn dividend und divisor ganzzahlig angelegt sind, dann ist das Ergebnis ebenfalls ganzzahlig und deshalb zur Sortierung nicht zu gebrauchen. So geht’s jedenfalls in Access:

 SELECT dividend, divisor 
 from Order\_by\_Quotient
 order by dividend/divisor

Gruß Ralf

Hi

Versuch es mal so:

SELECT p.member\_id, a.album\_id, p.picture\_id, a.accesslevel, p.filename, p.totalscore / p.totalvotes, m.username, d.data\_gender1, m.group\_id ,p.totalscore, p.totalvotes
FROM skadate\_pictures as p, skadate\_members\_data as d, skadate\_members as m, skadate\_albums AS a
WHERE d.data\_id=p.member\_id AND d.data\_id=m.member\_id AND a.album\_id=p.album\_id
AND p.active='1' AND p.totalvotes\>'0'
AND a.accesslevel = '0'
AND d.data\_gender1=1
ORDER BY p.totalscore / p.totalvotes DESC, p.totalvotes DESC LIMIT 49;