MySQL: Alle Einträge nach Wert sortieren!

tim-pong

Mitglied
Hallo ihr Pros,

Wie kann man die Daten einer MySQL-Anweisung nach Menge der gleichen Values sortieren! Sprich: Ich lese die komplette Tabelle aus und erstelle dann eine TopList nach der Menge wie oft ein gleicher Wert in einem Feld vorkommt. Vielen Danke für eure Hilfe!

Tim
 
Also... Ich habe eine Spalte mit der id und eine weitere Spalte mit dem namen "pic". Wenn jetzt ein User für ein Bild abstimmt, wird der ganzen Tabelle eine neue Zeile hinzugefügt und in "pic" wird der Pfad des Bildes abgespeichert, für das der User gestimmt hat.
Jetzt kommt natürlich der Pfad des Bildes, für das die meisten User gestimmt haben, am meisten in der Tabelle vor, so dass ich eine MySQL-Anweisung brauche, die bestimmt, welcher Pfad am meisten vorkommt... Das wird dann mit Desc entsprechend sortiert und als TopList dargestellt!
 
Code:
SELECT count(pfad) as anz, pfad FROM tabelle GROUP BY pfad ORDER BY anz DESC
So würde es gehen, aber es ist wahnsinnig aufwendig. Warum legst du nicht einfach eine neue Spalte an, in der du zu jedem Pic die Anzahl der Aufrufe speicherst.
 
weil ich dann ja jedes bild in die datenbank eintragen müsst, und so werden nur die Bilder eingetragen, für die auch gestimmt wurde...
 
Und wenn für jedes Bild 1000 mal gestimmt wurde, dann hast du 1000 mal so viele Einträge wie sonst. Und du kannst die Bilder auch erst in die Datenbank schreiben, wenn jemand das erste mal für eins abstimmt.
 
Zurück