Tom: MySQL: Bei Sortierung leere Felder auslassen

Beitrag lesen

Hello,

Die Collataing Sequence ist letztlich das CharacterSet, nach dem eine Sortierungsreihenfolge bestimmt wird. Wenn man nun das Leerzeichen von seiner angestammten Position entfernt und an das Ende der Sequenz setzt, landen die Datensätze mit Leerzeichen eben auch am End der Sortierungsliste.

nur das NULL felder eben keine leerzeichen haben...

Danke für den Hinweis.

Dann müsste er vielleicht sogar zwei Abfragen machen und die dann extern zusammenführen?

Tabelle sperren
  Alle Sätze im Filterbereich für die keine Leer und keine Nullfelder vorkommen
  Alle Sätze im Filterbereich für die Leer und Nullfelder vorkommen
Tabelle freigeben.

Problem ist ben dabei, dass man für eine solche Spielerei locken muss.

Da fällt mir noch was anderes ein:
Das letzte Zeichen in der Normalen Sortierung ist doch in der Darstellung auch ein Leerzeichen, nämlich ein geschütztes. Nun kann man bei der Abfrage ein if für das betroffene Feld einbauen und wenn es leer oder NULL ist, dann setzt man einfach ein chr(255) davor. Damit landen diese Daensätze dann am Ende, wenn über das Feld sortiert wird.

Ist das nun ein gute oder schlechte Idee? Was hält den konkurrierenden Betrieb mehr auf? Die horizontale Bearbeitung, die ja die Performance der Abfrage in die Knie drückt, oder die Sperre der Tabelle(n) währen zweier hochperformanter Abfragen?

select ID_ADRESSE, if(isnull(FARB_NAME),char(255),FARB_NAME) as FARBE
from ADRESSE left join FARBE
using (ID_FARBE)
order by FARBE;

Allerdings liefert mir das char(255) im Screen das y mit zwei Punkten drüber . Liegt das nun am Windows-Zeichensatz? Auch wenn ich die ssh-Konsole nutze, habe ich das hässliche Zeichen in der Darstellung. Je mehr man ausprobiert, desto mehr Problemchen tauchen auf :-(

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau