Eine kurze Diskussion über die Sortierabfrage mit angegebener MySQL-Reihenfolge

Eine kurze Diskussion über die Sortierabfrage mit angegebener MySQL-Reihenfolge

Vor kurzem habe ich an einem Großbildschirmprojekt gearbeitet, das dem ähnelt, das Fluginformationen an Flughäfen und Bahnhöfen anzeigt, aber der angezeigte Inhalt ist viel komplizierter. Einige der Daten sind wie folgt:

Das Front-End verwendet hauptsächlich das Vue-Framework und erfordert, dass die Back-End-Daten auf dem Front-End angezeigt werden.

Erstens: Die Ein- und Ausfahrtsanzeigen ab Werk sind nicht festgelegt (könnten 6 sein oder zukünftig 7 oder 8);

Zweitens: Verwenden Sie Schrägstriche anstelle von „numerischen“ Werten.

Drittens: Die Namen der eingehenden und ausgehenden Indikatoren müssen mit den in der obigen Abbildung angegebenen Namen übereinstimmen (die aus der Back-End-Datenbank abgefragten Namen unterscheiden sich von den im Front-End angegebenen Namen, und die Einheiten enthalten „>1“, „>0,3“ usw., sodass sie nicht direkt vom Back-End abgefragt werden können. Der Name + die Einheit werden im Front-End platziert und müssen von Ihnen selbst verarbeitet werden); Viertens: Die Reihenfolge, in der die Back-End-Daten übertragen werden, muss der vom Front-End angegebenen Reihenfolge entsprechen. Die Anforderung besteht jedenfalls darin, dass das Front-End nur die Daten ausgeben muss und das Back-End sich um alle anderen Anforderungen kümmert.

Es gibt zwei Tabellen: table_a, table_b

Schritt 1: Erstellen Sie eine Tabelle basierend auf table_a.id=table_b.ids

SQL-Anweisung: SELECT * FROM (SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.ids)A, den unterstrichenen Teil als neue Tabelle A nehmen

Schritt 2: Es wird festgestellt, dass Xiaobailong und Sha Wujing nicht in der Datenbank sind, daher müssen sie hinzugefügt werden:

SQL-Anweisung:

Wählen Sie * aus (Wählen Sie * aus Tabelle_a a INNER JOIN Tabelle_b b ON a.id = b.ids
UNION ALLE
SELECT 8 id,'Benutzername' `Name`,'Benutzername' sname,'1000' Alter, 8 IDs, 27 `Wert`
UNION ALLE
SELECT 9 id,'Sha Wujing' `Name`,'Juanlian General' sname,'2000' Alter,9 ids, 289 `Wert`
)A

Der unterstrichene Teil wird verwendet, um einige fehlende Daten hinzuzufügen, die manchmal für feste Anzeigeanforderungen im Frontend verwendet werden.

Schritt 3: Bitte ordnen Sie in der Reihenfolge Tang Mönch, Sun Wukong, Zhu Bajie, Sha Wujing, Xiao Bailong, Chunhua, Wang Wu, Zhao Liu, Tang Qi

SQL-Anweisung:

Wählen Sie * aus (Wählen Sie * aus Tabelle_a a INNER JOIN Tabelle_b b ON a.id = b.ids
UNION ALLE
SELECT 8 id,'Benutzername' `Name`,'Benutzername' sname,'1000' Alter, 8 IDs, 27 `Wert`
UNION ALLE
SELECT 9 id,'Sha Wujing' `Name`,'Juanlian General' sname,'2000' Alter,9 ids, 289 `Wert`)A
    INNER JOIN (SELECT 7 ids, 1 `order`
UNION ALLE
WÄHLEN Sie 2 IDs, 2 „Bestellung“
UNION ALLE
WÄHLEN Sie 4 IDs, 3 „Bestellung“
UNION ALLE
WÄHLEN SIE 9 IDs, 4 „Bestellung“
UNION ALLE
WÄHLEN SIE 8 IDs, 5 „Bestellung“
UNION ALLE
WÄHLEN Sie 6 IDs, 6 „Bestellung“
UNION ALLE
Wählen Sie 1 IDs, 7 „Bestellung“ aus.
UNION ALLE
WÄHLEN SIE 5 IDs, 8 „Bestellung“
UNION ALLE
WÄHLEN SIE 3 IDs, 9`order` ) B ON B.ids=A.id
BESTELLEN NACH B.order

Die unterstrichenen Anweisungen fügen der gesamten Tabelle A zwei Felder hinzu und erreichen dadurch eine feste Sortierung auf eine bestimmte Weise. Felder können auch hinzugefügt werden, um andere gewünschte Zwecke zu erreichen.

Dies ist der gesamte Inhalt unserer Einführung in die Sortierabfrage mit MySQL-Angabe. Wenn Sie noch Fragen haben, können Sie diese im Kommentarbereich unten diskutieren.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung von Beispielen für MySQL-Einzeltabellenabfragevorgänge [Syntax, Einschränkungen, Gruppierung, Aggregation, Filterung, Sortierung usw.]
  • Detaillierte Erklärung, warum MySQL nicht mit UNION zwei Abfragen verbinden kann
  • Analyse der Verwendung von MySQL-Abfragesortierung und Abfrageaggregationsfunktionen
  • Yii2 implementiert den Sortierfunktionscode für MySQL-Datenbankassoziationsabfragen
  • Tutorial zum Sortieren von Abfrageergebnissen und Begrenzen der Anzahl zurückgegebener Ergebnisse in MySQL
  • Ein kurzes Tutorial zum Sortieren von MySQL-Abfrageergebnissen nach Wert
  • Beispiel für die Sortierung von Datenbankabfragen anhand zufälliger Sortierergebnisse (Oracle/MySQL/MS SQL Server)
  • MySQL-Abfrageoptimierung: Einführung in das Sortierlimit für Join-Abfragen (Join-, Order-by- und Limit-Anweisung)
  • MySQL-Abfrageoptimierung: eine kurze Erläuterung zur Sortierung von Join-Abfragen
  • Sortierung und Paginierung von MySQL-Abfragen

<<:  So starten und stoppen Sie das Shell-Skript zur Bereitstellung eines SpringBoot-JAR-Programms unter Linux

>>:  Sie müssen wahrscheinlich keine Switch-Anweisungen in JavaScript verwenden

Artikel empfehlen

So aktivieren Sie die MySQL-Remoteverbindung auf einem Linux-Server

Vorwort Lernen Sie MySQL, um frühere Nicht-MK-Dat...

JS implementiert einen einfachen Zähler

Verwenden Sie HTML, CSS und JavaScript, um einen ...

Beispielcode zum Generieren eines QR-Codes mit js

Vor einiger Zeit musste das Projekt die Funktion ...

Anwendungsverschachtelung von HTML-ul-ungeordneten Tabellen

Anwendungsschachtelung ungeordneter Listen Code ko...

So passen Sie geplante AT- und Cron-Aufgaben in Linux an

Es gibt zwei Arten von geplanten Tasks im Linux-S...

Reines CSS, um coole Neonlichteffekte zu erzielen (mit Demo)

Ich habe kürzlich die Tutorial-Reihe zu CSS-Anima...

Zusammenfassung der Wissenspunkte des Nodejs-Clustermoduls und Anwendungsbeispiele

Der Interviewer wird Sie manchmal fragen: „Sagen ...

Wie werden Leerzeichen in HTML dargestellt (was bedeuten sie)?

Bei der Webentwicklung stößt man häufig auf Zeiche...

Die perfekte Lösung, um das Passwort in mysql8.0.19 zu vergessen

Lesetipp: MySQL 8.0.19 unterstützt Kontosperrfunk...

ThingJS-Partikeleffekte, um Regen- und Schneeeffekte mit einem Klick zu erzielen

Inhaltsverzeichnis 1. Partikeleffekte 2. Laden Si...

Tutorial zur Installation des Nginx-RTMP-Streaming-Servers unter Ubuntu 14

1. RTMP Das RTMP-Streaming-Protokoll ist ein von ...

Vue führt eine Überprüfung durch, ob der Benutzername verfügbar ist

In diesem Artikelbeispiel wird der spezifische Co...