MySQL gibt eine beliebige Reihenfolge nach ID an

8

Ist es möglich, eine beliebige Reihenfolge für eine MySQL SELECT -Anweisung anzugeben? Z. B.

%Vor%

Die Reihenfolge der Zahlen, die direkt nach IN aufgelistet sind, scheint keine Rolle zu spielen.

    
ma11hew28 01.12.2010, 17:31
quelle

3 Antworten

12

FIND_IN_SET Funktion wird den Trick

tun %Vor%

Ссылка

EDIT: Beachten Sie das Fehlen von Leerzeichen im String-Argument der Funktion find_in_set.

    
The Scrum Meister 01.12.2010 17:33
quelle
4

Sehen Sie sich die ORDER BY FIELD von mysql an. Ich denke, es wird genau das tun, was du willst.

    
Glen Solsberry 01.12.2010 18:58
quelle
0

Einfache Antwort:

Instrumentieren Sie Ihre Daten mit einem anderen "ordering" int-Feld und ORDER BY-Feld. Dies sollte die meiste Zeit alles sein, was notwendig ist. Ich habe das erfolgreich gemacht, wo Kunden bestimmte Produkte in eine Liste mit Funktionen blenden können, indem sie niedrige Werte wie -1 oder -99 in das Bestellfeld eingeben.

Komplexe Antwort:

Dies würde gelten, wenn Sie diese Reihenfolge normalisieren wollten, und wenn Sie vielleicht ein anderes Feld als zweiten Faktor in der Reihenfolge hatten, das ist bereits in Ihrer Haupttabelle. Dies würde auch hilfreich sein, wenn Sie jedem Bestellpunkt andere Informationen wie z. B. eine Notiz zuordnen. Oder wenn viele Tabellen diese willkürliche Reihenfolge implementieren und Sie diese Reihenfolge von einem Ort aus orchestrieren / ändern möchten.

Was Sie tun würden, ist die "willkürliche" Reihenfolge in einer Tabelle zu platzieren, der Sie beitreten können, und dann nach diesem Feld zu sortieren:

%Vor%     
zanlok 01.12.2010 17:39
quelle

Tags und Links