tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
593
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Hallo Leute,

    ich habe wieder mal ein Problem.

    Ich möchte eine DB nach 2 Spalten sortieren.
    Also ich habe ein Spalte mit Nachnamen und eine mit Vornamen.
    Jetzt möchte ich erst nach den Nachnamen sortieren und dann nach den Vornamen so das es nach dem Alphabet wieder richtig ist.

    Geht das mit einer Abfrage und wenn ja wie?

    Vielen Dank im Voraus für euere Hilfe!
     
    Ich würde mich über die Bewertung meiner Beiträge mit Kurzkommentar sehr freuen!

    Die "dumme Frage" ist gewöhnlich das erste Anzeichen einer völlig neuen Entwicklung!
    -------------------
    Es ist immer Zeit etwas zu verändern ....
    .... das alles so bleibt wie es ist!

    -------------------
    Homepage Landshut
    -------------------
    /voodoo.css
    #meinFeind {position: absolute; bottom: -6ft;}

  2. #2
    M155P3RF3K7 M155P3RF3K7 ist offline Mitglied Bronze
    Registriert seit
    Apr 2006
    Ort
    Paderborn
    Beiträge
    36
    So kann nach dem Nachnamen z. B. sortiert werden:

    Code :
    1
    2
    3
    
    $query ="SELECT Vorname,Name
        FROM Tabelle
        order by Name";
     

  3. #3
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Hallo,

    das war nicht meine Frage - ich möchte in einer Query erst nach dem Nachnamen sortieren.

    z.B.

    Einname
    Meier
    Zweiname

    Wenn jetzt z.b. Meier 5x vorkommt dann sieht die Sortierung als so aus:


    Einname
    Meier
    Meier
    Meier
    Meier
    Meier
    Zweiname

    So nun habe ich einen Anton Meier, einen Christian Meier, einen Marcus Meier, einen Karl Meier und einen Xaver Meier
    Die stehen in der db in folgender Reihenfolge:
    Christian
    Karl
    Anton
    Xaver
    Marcus

    Also wäre nach der Sortierung der Nachnamen folgendes Ergebnis zu erwarten:

    Einname
    Meier Christian
    Meier Karl
    Meier Anton
    Meier Xaver
    Meier Marcus
    Zweiname

    Jetzt möchte ich aber folgende Ausgabe haben:

    Einname
    Meier Anton
    Meier Christian
    Meier Karl
    Meier Marcus
    Meier Xaver
    Zweiname

    Ich habe folgende Query probiert leider funkt es nicht:
    Code :
    1
    2
    3
    4
    5
    
    SELECT * 
    FROM `user` 
    ORDER BY `realname` ASC AND 
    BY `realfirstname` ASC 
    LIMIT 0 , 500
     
    Ich würde mich über die Bewertung meiner Beiträge mit Kurzkommentar sehr freuen!

    Die "dumme Frage" ist gewöhnlich das erste Anzeichen einer völlig neuen Entwicklung!
    -------------------
    Es ist immer Zeit etwas zu verändern ....
    .... das alles so bleibt wie es ist!

    -------------------
    Homepage Landshut
    -------------------
    /voodoo.css
    #meinFeind {position: absolute; bottom: -6ft;}

  4. #4
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Was hälst Du hiervon?
    Code :
    1
    2
    3
    4
    
    SELECT CONCAT(realname,' ',realfirstname) AS fullname
    FROM `user`
    ORDER BY fullname
    LIMIT 0,500
    ASC brauchst Du nicht unbedingt mit angeben, da es normalerweise schon per default eingestellt ist.

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  5. #5
    Registriert seit
    Mar 2004
    Ort
    Tiefste Provinz
    Beiträge
    304
    Also mit Verlaub: Das sind ja wohl simpelste SQL-Basics...
    Code :
    1
    
    ORDER BY nachname, vorname
     
    Martin

  6. #6
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Zitat Zitat von ManicMarble
    Also mit Verlaub: Das sind ja wohl simpelste SQL-Basics...
    Also mit Verlaub (zurück) - hätte ich es gewusst dann hätte ich nicht gefragt - ich habe eben noch nicht meine Basics zusammen. Jetzt habe ich wieder ein Stück Basic mehr

    Ich werde es aber so wie Dr Dau geschrieben hat machen (VIELEN DANK) da ich den Vor- und Nachnamen sowieso in einer Variable brauche.
     
    Ich würde mich über die Bewertung meiner Beiträge mit Kurzkommentar sehr freuen!

    Die "dumme Frage" ist gewöhnlich das erste Anzeichen einer völlig neuen Entwicklung!
    -------------------
    Es ist immer Zeit etwas zu verändern ....
    .... das alles so bleibt wie es ist!

    -------------------
    Homepage Landshut
    -------------------
    /voodoo.css
    #meinFeind {position: absolute; bottom: -6ft;}

  7. #7
    Registriert seit
    Mar 2004
    Ort
    Tiefste Provinz
    Beiträge
    304
    Hallo dwex,
    mit Verlaub: War kein Angriff gegen Dich. Hatte mich bloß gewundert, dass so viele komplizierte Lösungsvorschläge kommen und die Fragestellung so ausführlich präzisiert wurde, wo doch eine einfache Lösung so nahe liegt und ein kurzer Blick in die MySQL-Doku (z.B. http://dev.mysql.com/doc/refman/5.0/en/select.html) Dir diese langen Ausführungen erspart hätte. .

    Wenn Du sowieso Nach- und Vorname mit CONCAT() verketten willst, dann kannst Du natürlich nach dem Alias sortieren, kannst aber, falls Du keinen Alias vergeben willst oder noch mehr Sortierkriterien hast, trotzdem auch beim ORDER BY mehrere Felder angeben.

    Viele Grüße,
     
    Martin

  8. #8
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Bei meinem Beispiel sei noch angemerkt dass es grundsätzlich den Vornamen UND Nachnemen in der Tabelle geben muss..... denn:
    Zitat Zitat von MySQL.com
    CONCAT(zeichenkette1,zeichenkette2,...)
    Gibt die Zeichenkette zurück, die durch die Verkettung der Argumente entsteht. Gibt NULL zurück, wenn irgend ein Argument NULL ist. Kann mehr als 2 Argumente haben. Ein numerisches Argument wird in die äquivalente Zeichenkettenform umgewandelt:

    mysql> select CONCAT('My', 'S', 'QL');
    -> 'MySQL'
    mysql> select CONCAT('My', NULL, 'QL');
    -> NULL
    mysql> select CONCAT(14.3);
    -> '14.3'
    Siehe auch die Zeichenketten-Funktionen.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 25.06.10, 12:42
  2. Arraylist nach mehren Spalten sortieren
    Von schuetzejanett im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 2
    Letzter Beitrag: 06.06.07, 12:18
  3. Abfrage nach 2 spalten sortieren
    Von matthoz im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 08.01.06, 11:49
  4. [MySQL] Sortieren nach 2 Spalten?
    Von Suchfunktion im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 05.07.05, 13:59
  5. Nach mehreren Spalten sortieren?
    Von gerthsen im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 05.06.05, 00:28