MYSQL ordnen nach eingabe?

  • Also hab ein Statement, dass ungefähr so aussieht: (mysql)


    SELECT *
    FROM `Kunden`
    WHERE `kunden_nr` = 'C553'
    OR `kunden_nr` = 'F161'
    OR `kunden_nr` = 'C590'
    OR `kunden_nr` = 'C388'

    Ist es nun möglich die Daten in der Reihenfolge auszugeben wie in der where klausel angegeben, also : C553,F161,C590,C388

    Wenn ich nichts angebe sortiert mir sql die ausgabe nach der kunden nr

  • MySQL kann nur aufsteigend und absteigend Sortieren (zumindest ist mir das so bekannt)

    Ich würde Vorschlagen dass du die Abfragen einzeln stellst und per union (all) zusammenhängst.

    Also am Beispiel von oben

    SELECT *
    FROM `Kunden`
    WHERE `kunden_nr` = 'C553'
    UNION ALL

    SELECT *
    FROM `Kunden`
    WHERE `kunden_nr` = 'F161'
    UNION ALL
    SELECT *
    FROM `Kunden`
    WHERE `kunden_nr` = 'C590'
    UNION ALL
    SELECT *
    FROM `Kunden`
    WHERE `kunden_nr` = 'C388'

    Wenn du pro Abfrage nur einen Wert erwartest bzw willst kannst du das UNION ALL durch ein UNION ersetzen.
    Weiters solltest du beachten dass dies 4 einzelne Abfragen sind!
    Daher wäre es ratsam sich die Query mittels EXPLAIN an der eigentlichen Datenbank anzusehen und wenn nötig ordentliche Indizes anzulegen

    µC-Leitung

  • MySQL kann nur aufsteigend und absteigend Sortieren (zumindest ist mir das so bekannt)

    Ich würde Vorschlagen dass du die Abfragen einzeln stellst und per union (all) zusammenhängst.

    Danke, daran hab ich auch schon gedacht, aber die is die performance wirklich sch***e (sollte eigentlich ein workaround für das übergeben eines such-resultats an eine präsentations funktion sein)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!