Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ich MySQL-Versionsnummern richtig sortieren?

Patricia Arquette
Freigeben: 2024-11-07 19:33:02
Original
230 Leute haben es durchsucht

How Can I Sort MySQL Version Numbers Correctly?

MySQL-Versionsnummernsortierung

Problem:

MySQL-Sortierroutinen liefern möglicherweise nicht die gewünschte Sortierreihenfolge für gespeicherte Versionsnummern als varbinary(300). Die Sortierung muss bis zu 20 Ziffern berücksichtigen und Ergebnisse wie die folgenden liefern:

1.1.2
1.2.3.4
2.2
3.2.1.4.2
3.2.14
4
9.1
Nach dem Login kopieren

Lösung:

Verwenden Sie die INET_ATON-Funktion mit der folgenden Abfrage:

SELECT version_number FROM table ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))
Nach dem Login kopieren

Diese Technik nutzt die Fähigkeit von INET_ATON, IP-Adressen in Ganzzahlen umzuwandeln. Indem wir .0.0.0 an die Versionsnummer anhängen und nur die ersten vier Komponenten mit SUBSTRING_INDEX extrahieren, übersetzen wir die Versionsnummern effektiv in vergleichbare Ganzzahldarstellungen.

Zusätzliche Überlegungen:

  • Dieser Ansatz nutzt die Indizierung nicht, da er auf einer Funktion der Spalte und nicht auf der Spalte selbst basiert. Das Sortieren kann in manchen Fällen relativ langsam sein.
  • Bei größeren Versionsnummern sollten Sie die Verwendung separater Spalten für jeden Teil der Versionsnummer in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Versionsnummern richtig sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage