Heim >Datenbank >MySQL-Tutorial >Detaillierte Einführung in MySQL zur Implementierung einer benutzerdefinierten Listensortierung nach angegebenen Feldern

Detaillierte Einführung in MySQL zur Implementierung einer benutzerdefinierten Listensortierung nach angegebenen Feldern

黄舟
黄舟Original
2017-03-25 13:37:182049Durchsuche

Der folgende Editor bringt Ihnen einen Artikel MySQLImplementierung der benutzerdefinierten Listensortierung nach angegebenen Feldern. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.

Problembeschreibung

Wie wir alle wissen, sortiert die SQL ein bestimmtes Feld in aufsteigender Reihenfolge in MySQL ist (mit ID als Beispiel, das Gleiche unten):

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY `id` ASC

Die SQL für absteigende Reihenfolge ist:

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY `id` DESC

Manchmal kann die obige Sortierung unsere Bedürfnisse nicht erfüllen. Beispielsweise möchten wir nach der ID in der Reihenfolge 5, 3, 7, 1 sortieren, um dies zu erreichen. Dies ist auch eines der Probleme, mit denen viele Kollegen im In- und Ausland häufig konfrontiert sind.

Nachfolgend geben wir eine Lösung zum Sortieren nach einem bestimmten Feld in der Tabelle im gewünschten Listenformat.

Lösung

Verwenden Sie „ORDER BY FIELD“ (ORDER BY FIELD).

Syntax

ORDER BY FIELD(`id`, 5, 3, 7, 1)

Es ist zu beachten, dass nach FIELD kein Leerzeichen steht.

Daher lautet das vollständige SQL:

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY FIELD(`id`, 5, 3, 7, 1)

Gemeinsame Anwendungen

SELECT * FROM `MyTable` 
WHERE `name` IN ('张三', '李四', '王五', '孙六') 
ORDER BY FIELD(`name`, '李四', '孙六', '张三', '王五')

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in MySQL zur Implementierung einer benutzerdefinierten Listensortierung nach angegebenen Feldern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn