hi,
das problem daran ist, dass du datensätze über WHERE klausel über die ID ausschließt, die sehr wohl aber wichtig in der sortierung sein können. und da er über drei spalten sortiert
ja, in dem fall wird es nicht so einfach.
in vielen fällen sollte es aber möglich sein, die drei sortierkriterien zu einer "pseudo-spalte" zusammenzufügen - CONCAT o.ä. - und dann diese kombination für den größer-kleiner-vergleich herzunehmen.
klar, dabei muss man mit alphanummerischer/nummerischer sortierung ein bisschen aufpassen, ebenso darauf, dass man spalteninhalte ungleicher länge alle auf die gleiche länge "aufbohrt", um korrekt sortieren zu können.
für generell unmöglich auf diesem wege zu lösen würde ich ein derartiges problem jedenfalls nicht halten.
klar, ob eine WHERE-abfrage auf eine solche zusammengesetzte spalte sonderlich performant ist, wäre auch zumindest diskussionswürdig. besser als die erst mal alles rüberschaufeln-lösung dürfte es aber oftmals noch sein.
und je nach datenkonstellation und abfrage/update-häufigkeit könnte man auch noch überlegen, dieses verbundene sortierkriterium in einer extra spalte abzulegen (und diese ggf. noch zu indizieren), um den zugriff darauf weniger teuer zu gestalten - in abwägung des dadurch entstehenden erhöhten speicheraufwandes und der redundanz sowie des etwas erhöhten verwaltungsaufwandes (aktualisieren dieser zusätzlichen spalte bie insert/update).
im allgemeinen kann man wohl nur sagen, "es kommt drauf an" - und zwar auf die konkrete situation, die wir nicht kennen.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }