Hallo Miteinander!
Für eine Bilderdatenbank habe ich mich am Nested Set Modell orientiert und dieses so erweitert, das ich nicht nur Bäume, sondern auch komplexere Graphen abbilden kann. Hierzu ist es notwendig statt einer einzelnen Ergebnismenge, mehrere Einzelmengen abzufragen:
Beispiel:
Code:
SELECT * FROM `images`
WHERE (`left` BETWEEN 10 AND 20)
OR (`left` BETWEEN 30 AND 40) LIMIT 50
Das nur als Vorgeschichte und Rahmenbedingung. Mein eigentliches Problem ergibt sich aus der Tatsache, das die einzelnen Bilder über einen Zahlenwert gewichtet werden (`vote`) und ich die Ergebnismenge nach dieser Gewichtung sortiert haben möchte.
funktioniert zwar, ist aber auf Grund von teilweise mehreren Millionen Zeilen die bei jeder Abfrage zu sortieren wären nicht praktikabel. Also war mein Ansatz über
die interne Sortierung der Tabelle auszunutzen, die zuvor mit
Code:
ALTER TABLE `images` ORDER BY `vote` ASC
entsprechen vorbereitet wurde.
Leider bekomme ich eine Ergebnismenge in der Form:
Code:
left vote
10 1
11 3
12 5
30 2
31 4
32 6
statt
Code:
left vote
10 1
30 2
11 3
31 4
12 5
32 6
Hat vielleicht jemand eine Idee, wie ich dieses Problem möglichst elegant gelöst bekomme?
Gruß
Frank