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% Sie könnten die Funktionen FIND_IN_SET
oder FIELD
verwenden, um Ihre Ergebnisse zu organisieren, wenn Sie die IDs bereits kennen.
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.
Sie können JOIN
diese Werte im Prädikat IN
wie folgt angeben:
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.