Kann ich nach IN Wert bestellen

8

Kann ich nach dem Wert einer IN-Abfrage sortieren?

Die folgende Voreinstellung lautet "Order item_id lowest first", aber ich möchte tatsächlich die Sortierung wie eingegeben ... ist das möglich?

z.B.

%Vor%

Ich möchte zurückkehren:

%Vor%     
Darren Sweeney 04.11.2012, 20:25
quelle

3 Antworten

4

Sie könnten die Funktionen FIND_IN_SET oder FIELD verwenden, um Ihre Ergebnisse zu organisieren, wenn Sie die IDs bereits kennen.

%Vor%

oder

%Vor%

Der Nachteil ist natürlich, dass Sie die IDs zweimal angeben. Ich denke, dass so ziemlich jede vernünftige Lösung dies tun wird. Die einzige Möglichkeit, das zu umgehen, wäre ein Sortierreihenfolgefeld oder etwas ähnliches.

    
cHao 04.11.2012, 20:59
quelle
7

Sie können JOIN diese Werte im Prädikat IN wie folgt angeben:

%Vor%

SQL-Geige-Demo

    
Mahmoud Gamal 04.11.2012 20:33
quelle
6

Sie benötigen eine benutzerdefinierte ORDER BY CASE , um einen Sortierrang auf jeden der möglichen Werte anzuwenden. Offensichtlich wird dies schwierig, wenn die Größe des Satzes zunimmt.

%Vor%     
Michael Berkowski 04.11.2012 20:27
quelle

Tags und Links