in-clause

___ answer2958148 ___

MySQL sortiert nur mit ORDER BY. Aus diesem Grund ist es nicht ungewöhnlich, dass Datenbanktabellen eine Ordinalitätsspalte haben.

%Vor%     
___ qstnhdr ___ MySQL spezifiziert die genaue Reihenfolge mit WHERE 'id' IN (...) ___ qstntxt ___

Gibt es eine einfache Möglichkeit, die MySQL-Ergebnisse durch WHERE %code% IN (...) -Klausel zu bestellen? Beispiel:

%Vor%

zurück

%Vor%

und auch

%Vor%

zurück

%Vor%

Update: Um genauer zu sein, möchte ich vermeiden, dass die Daten in Klammern in %code% manipuliert werden, da diese IDs dynamisch und automatisch geordnet sind.

    
___ tag123sqlorderby ___ Eine ORDER BY-Klausel in SQL gibt an, dass eine SQL SELECT-Anweisung eine Ergebnismenge mit den Zeilen zurückgibt, die nach den Werten einer oder mehrerer Spalten sortiert sind. ___ answer2958130 ___

Ich glaube nicht, dass Sie das tun können. Es gibt keine "explizite" Bestellung. Die Anweisung "in" sagt Ihnen einfach, was abgerufen werden soll und hat keine Informationen über die Reihenfolge.

Da die Beispiele, die Sie angegeben haben, keine offensichtliche Reihenfolge haben, ist es am besten, dies in Code zu behandeln, nachdem das Ergebnis zurückgegeben wurde.

    
___ tag123mysql ___ MySQL ist ein freies, relationales Datenbank-Managementsystem (RDBMS), das die strukturierte Abfragesprache (SQL) verwendet. Verwenden Sie dieses Tag NICHT für andere DBs wie SQL Server, SQLite usw. Dies sind verschiedene DBs, die alle SQL verwenden, um die Daten zu verwalten. ___ tag123inklause ___ Die IN-Klausel einer SQL-Abfrage ist eine Funktion, die im Allgemeinen innerhalb einer WHERE-Klausel verwendet wird. Sie gibt true zurück, wenn ein Wert in einer gegebenen Menge enthalten ist. Verwenden Sie für Fragen zu dieser Klausel. ___ answer13583895 ___

Das funktioniert für mich: ORDER BY FIELD (Produkt.id, 4,9,8,5,3,11,24,16)

    
___ answer2958233 ___

Ja, irgendwie:

%Vor%

aber das ist Nicht-Standard-SQL und riecht ein bisschen.

    
___
4
Antworten

MySQL spezifiziert die genaue Reihenfolge mit WHERE 'id' IN (...)

Gibt es eine einfache Möglichkeit, die MySQL-Ergebnisse durch WHERE id IN (...) -Klausel zu bestellen? Beispiel: %Vor% zurück %Vor% und auch %Vor% zurück %Vor% Update: Um genauer zu sein, möchte ich vermeiden, dass die Daten i...
02.06.2010, 13:21