mysql - Reihenfolge nach Feld funktioniert nicht richtig

8

Angenommen, ich habe eine Datenbank, die Tabelle enthält Zeilen mit IDs von 1 bis 20.

Ich möchte 3 Zeilen mit der ID 3,4,1 zuerst zurückgeben und dann die anderen Zeilen zurückgeben. Das ist mein Code:

%Vor%

Das ist das Ergebnis dieses Codes:

%Vor%

seltsamerweise die 3 Reihen, die ich zuerst kommen muss, zeigen am Ende,

Wie kann ich diese drei Zeilen an den Anfang der Liste bringen?

Danke

    
mohamad bagheri 11.05.2015, 11:00
quelle

4 Antworten

6

Sie können desc :

verwenden %Vor%

Das Problem ist, dass MySQL NULL -Werte zuerst eingibt, wenn Sie eine aufsteigende Reihenfolge nach. machen.

Wenn Sie die Zeilen tatsächlich in der Reihenfolge 3, 4, 1 haben möchten (die Frage ist bei dieser Anforderung vage), kehren Sie sie in der field -Anweisung um:

%Vor%

Oder, wenn Sie Lust haben wollten:

%Vor%     
Gordon Linoff 11.05.2015, 11:05
quelle
1

Der andere Weg ist case-when zu verwenden und jedem id ein order value

zu geben %Vor%     
Abhik Chakraborty 11.05.2015 11:08
quelle
0

Nicht getestet, aber Sie können versuchen

%Vor%     
Salim 11.05.2015 11:09
quelle
0

Versuchen Sie es mit DESC

%Vor%

Es scheint, dass deine ID-Reihenfolge wichtig ist. Reverse Zahlen, um das richtige Ergebnis zu erhalten

%Vor%     
Rene Korss 11.05.2015 11:06
quelle

Tags und Links