MH: MYSQL sortieren Doppelnamen

Moin alle zusammen,
Ich hab mal ne Frage:
Ist es möglich direkt mit MySQL Doppelnamen zu sortieren?
Also ich hab in einer Spalte mit Nachnamen manchmal Namen wie "van der Buhr" oder ähnliches. In einer Liste werden Namen ja immer nach dem letzten Namen sortiert, also nach Buhr und nicht nach van. Ich kann das natürlich mit PHP machen, aber geht das auch irgendwie direkt mit MySQL mit ORDER BY oder so?

Gruß und danke schonmal
MH

  1. Hi,

    Ist es möglich direkt mit MySQL Doppelnamen zu sortieren?

    gibt es einen Spaltentyp "Doppelname"?

    Nein → MySQL kann gar nicht wissen, daß es sich um einen Doppelnamen handelt.

    Also ich hab in einer Spalte mit Nachnamen manchmal Namen wie "van der Buhr" oder ähnliches.

    Was hat das jetzt mit Doppelnamen zu tun? Doppelnamen sind sowas wie "Müller-Schmied".

    In einer Liste werden Namen ja immer nach dem letzten Namen sortiert, also nach Buhr und nicht nach van.

    Nö. Das mag in vielen Fällen so sein, aber definitv nicht immer.

    Ich kann das natürlich mit PHP machen, aber geht das auch irgendwie direkt mit MySQL mit ORDER BY oder so?

    Auch in PHP wird es Dir schwerfallen, automatisch den Teil des Namens zu identifizieren, nach dem sortiert werden soll - ist ja nicht notwendigerweise der letzte.

    Oder sollte ein O'Sullivan bei S zu finden sein? Oder eher bei O? Ein McDonald unter D oder M?

    Oder ein Herr von Neuschwanstein zu Herrenchiemsee? Bei N oder H?

    Oder …

    Es gibt sehr viele mögliche Varianten …

    cu,
    Andreas a/k/a MudGuard

    1. Tach!

      Es gibt sehr viele mögliche Varianten …

      Man löst das oftmals so, dass man eine Sortierspalte hinzufügt, in der der für die Sortierung relevante Namensteil eingetragen wird.

      dedlfix.

      1. Hi,

        Es gibt sehr viele mögliche Varianten …

        Man löst das oftmals so, dass man eine Sortierspalte hinzufügt, in der der für die Sortierung relevante Namensteil eingetragen wird.

        Kommt halt auch drauf an, wo die Namen herkommen. Wenn Kunden ihren Namen selbst eingeben, bringt es wenig, die dazu aufzufordern, den Sortierspaltenwert einzugeben, weil die nicht wissen, was damit passieren wird …

        Und je nach Menge der Daten ist eine manuelle Nachbearbeitung ggf. auch sehr aufwendig.

        cu,
        Andreas a/k/a MudGuard

    2. @@MudGuard

      In einer Liste werden Namen ja immer nach dem letzten Namen sortiert, also nach Buhr und nicht nach van.

      Nö. Das mag in vielen Fällen so sein, aber definitv nicht immer.

      Und nicht überall. Im Amerikanischen wird man Steve Van Zandt (ja, mit großem V) unter V finden, im Deutschen wird man Ludwig van Beethoven unter B finden.

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  2. Hello,

    die Sortierung ist immer Geschmackssache, bzw. amtlich festgelegt, was aber wohl so ziemlich das Gleiche sein dürfte ;-P

    In DE wurde sie wohl wesentlich beeinflusst von der Sortierung in Telefonbüchern und ist festgelegt in DIN 5007-ff.

    Wie ich kürzlich vernahm, soll in Island das Telefonbuch nach "Vorname, Titel, Nachname, Zusatz" sortiert sein. Ich habe es noch nicht nachgeprüft.

    Nachweisbare Sortierungen gibt es schon seit 10 v. Chr.

    Du könntest versuchen, Dir eine Funktion zu erstellen, die wahlweise nach dem ersten oder dem letzten Teilstring beginnt zu sortieren, also entweder

    111111 2222 333 4444      -> 4444 111111 2222 333  
    oder 
    111111 2222 333 4444      -> 111111 2222 333 4444 
    

    Guck z. B. mal bei AVM, wie das für das Telefonbuch in der Fritzbox machen. Das funktioniert meistens ganz gut.

    Grundsätzlich sollte der Datensatz aber in seine logischen Bestandteile zerlegt werden, also atomar gespeichert werden. also z. B.:

    • (Gesprächsanrede)
    • (Briefanrede)
    • Titel
    • Nachnamensvorsatz
    • Nachname
    • Nachnamenszusatz
    • Vorname(n)

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.