Antworten auf deine Fragen:
Neues Thema erstellen

Hilfe bei der Sortierung in MySQL

Fugel

rebmeM

PSD Beta Team
Hallo Leute,

ich habe eine Tabelle mit einer Spalte in der solche Werte gespeichert sind:
P1,P3,P4;E3,P2,E2

diese sollten wie folgt sortiert werden:

P1,P2,P3,P4,E2,E3

Wichtig dabei, die "E Nummern" dürfen nicht vor den "P Nummern" stehen, die Zahlen dahinter müssen aber dennoch sortiert sein.

Gibt es eine Möglichkeit dies zu realisieren?
 

lachender_engel

Aktives Mitglied

Ich würde hier ORDER BY in Kombination mit DESC verwenden, da P nach E kommt und daher die Sortierung absteigend sein muss.
Theoretisch solltest Du damit die von Dir gewünschte Sortierung erhalten.
 

Fugel

rebmeM

PSD Beta Team
Danke für deine Antwort,

allerdings müsste dann folgende Sortierung erfolgen:
P4,P3,P2,P1,E3,E2
es müsste aber so sein:
P1,P2,P3,P4,E2,E3
 

nedserdpsd

Nicht mehr ganz neu hier

Unter Oracle geht es so. Dürfte sicher auch in MySQL funktionieren

xxx> with daten as (
2 select 'P1' w, 3 d from dual union all
3 select 'P3' w,2 d from dual union all
4 select 'P4' w,7 d from dual union all
5 select 'E3' w,6 d from dual union all
6 select 'P2' w,9 d from dual union all
7 select 'E2' w,1 d from dual )
8 select w,d from daten
9 order by substr(w,1,1) desc,substr(w,2,1)
10 ;
W D
P1 3
P2 9
P3 2
P4 7
E2 1
E3 6

6 Zeilen ausgewählt.
 

Fugel

rebmeM

PSD Beta Team
Unter Oracle geht es so. Dürfte sicher auch in MySQL funktionieren

xxx> with daten as (
2 select 'P1' w, 3 d from dual union all
3 select 'P3' w,2 d from dual union all
4 select 'P4' w,7 d from dual union all
5 select 'E3' w,6 d from dual union all
6 select 'P2' w,9 d from dual union all
7 select 'E2' w,1 d from dual )
8 select w,d from daten
9 order by substr(w,1,1) desc,substr(w,2,1)
10 ;
W D
P1 3
P2 9
P3 2
P4 7
E2 1
E3 6

6 Zeilen ausgewählt.
Danke für deine Antwort, nur leider kapier ich es überhaupt nicht. Ich habe auch keine Ahnung wie dein Bspl. in MySQL funktionieren könnte.
 

nedserdpsd

Nicht mehr ganz neu hier

Der Teil mit dem With dient nur der Testdatenbereitstellung, z. B. gibt es da in der ersten Zeile eine Spalte W mit dem Wert P1 und eine Spalte D mit dem Wert 3. Da wird also eine Pseudo-Tabelle daten erstellt. Das ist so Oracle-Kram.

Interessant für dich ist nur das Order By mit den beiden Substr-Funktionen, die dazu führen dass eben erst das 1. Zeichen (P oder E) absteigend und dann das zweite Zeichen (die Zahlen) aufsteigend sortiert werden.

Ich hoffe, das hilft dir weiter.
 

Fugel

rebmeM

PSD Beta Team
Der Teil mit dem With dient nur der Testdatenbereitstellung, z. B. gibt es da in der ersten Zeile eine Spalte W mit dem Wert P1 und eine Spalte D mit dem Wert 3. Da wird also eine Pseudo-Tabelle daten erstellt. Das ist so Oracle-Kram.

Interessant für dich ist nur das Order By mit den beiden Substr-Funktionen, die dazu führen dass eben erst das 1. Zeichen (P oder E) absteigend und dann das zweite Zeichen (die Zahlen) aufsteigend sortiert werden.

Ich hoffe, das hilft dir weiter.
Sorry für die späte Antwort, konnte es aer erst jetzt versuchen.
Also es funktioniert super, vielen dank für die Denkhilfe ;-)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben