Vinzenz Mai: Sortierung nach mehreren Spalten

Beitrag lesen

Hallo,

Hey Jungs also es geht darum und zwar hab ich ein kleines Tool gebaut [...] Der derzeitige Code ist der folgende:

$sql = "SELECT * FROM spieler WHERE raid = '$raidid' ORDER BY name ASC";

Jetzt gibt er es Leider nach dem Namen sortiert aus!

wenn Dir diese Sortierung nicht gefällt, warum hast Du sie eingebaut?

Ich hätte das aber gerne in einer besonderen Art. Und zwar gibt es eine Zeile "lead" wo wenn ein Spieler Leader ist ein L drin ist!

Ich nehme an, Du meinst Spalte, wenn Du von Zeile sprichst.
Was steht denn in dieser Spalte drin, wenn ein Spieler kein Leader ist? Der spezielle Wert NULL oder ein Leerstring.

Dann gibt es noch eine Zeile "Specc1" und "Specc2" was die Skillung des spielers anzeigt dort könnte D, H oder T auftauchen.
So und die Sortierung sollte am besten so sein: alle Spieler welche in der Zeile "lead" etwas (L) haben sollten ganz oben stehen! Danach sollten alle Leute mit dem gleichen "Specc1" (die reihenfolge ob H, D oder T) ist egal und dann gegbenenfalls alles gleichen "SPecc2" aber das ist nicht unbedingt von nöten!

in der einfachsten Form könnte Deine ORDER-BY-Klausel wie folgt aussehen (ich gehe jetzt davon aus, dass in der Spalte lead entweder ein L oder der NULL-Wert steht):

ORDER BY      -- sortiere  
   lead DESC, -- zuerst nach der Spalte lead in absteigender Reihenfolge,  
              -- d.h. L kommt zuerst, dann die NULL-Werte  
   Specc1,    -- bei gleichem Wert in lead als nächstes nach den Werten der  
              -- Spalte Specc1  
   Specc2     -- sollten diese auch noch gleich sein, nach den Werten der  
              -- Spalte Specc2  

Freundliche Grüße

Vinzenz