Sortieren in MySQL unter Verwendung spezifischer ID-Werte mit „Sortieren nach“
Um eine Sortierung basierend auf einem vordefinierten Satz von ID-Werten mithilfe der Funktion „Sortieren nach“ zu erreichen "-Klausel in MySQL verwenden Sie die FIELD-Funktion wie folgt:
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
wobei „table“ das Ziel darstellt Tabelle.
Die FELD-Funktion verstehen
Die FELD-Funktion gibt die Position eines angegebenen Werts innerhalb einer bestimmten Werteliste zurück. In diesem Beispiel wird der Wert der Spalte „ID“ mit der bereitgestellten Liste von ID-Werten (1, 5, 4 und 3) verglichen. Das Ergebnis ist der Index des übereinstimmenden ID-Werts innerhalb der Liste, und die Datensätze werden basierend auf diesen Indizes sortiert.
Anwendungen
Mit diesem Ansatz können Sie sicherstellen dass Datensätze in einer bestimmten Reihenfolge basierend auf den bereitgestellten ID-Werten abgerufen werden. Dies ist besonders nützlich, wenn Sie eine vorgegebene Sortierreihenfolge benötigen, die nicht auf den tatsächlichen Werten der ID-Spalte basiert.
Alternativer Ansatz zur Behebung von Paginierungsproblemen
Das Original Die Frage warf auch Bedenken hinsichtlich der Paginierung auf, bei der sich die Sortierung ändert, während Benutzer mehrere Seiten durchsuchen. Um dieses Problem zu beheben, sollten Sie erwägen, der Tabelle eine Zeitstempel- oder Sequenznummernspalte hinzuzufügen. Speichern Sie beim Besuch den aktuellen Zeitstempel oder die aktuelle Sequenznummer in einer Sitzungsvariablen. Sortieren Sie beim Abrufen nachfolgender Seiten anhand dieses Zeitstempels oder dieser Sequenznummer anstelle der ID-Spalte. Auf diese Weise erhalten Benutzer die gleichen sortierten Ergebnisse, bis ein neuer Zeitstempel oder eine neue Sequenznummer generiert wird.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Ergebnisse mithilfe von ORDER BY nach einer bestimmten Reihenfolge von IDs sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!