Angenommen, es gibt eine Tabelle: Belohnung (Belohnungstabelle). Die Tabellenstruktur ist wie folgt: Tabelle erstellen test.reward ( id int(11) NICHT NULL AUTO_INCREMENT, uid int(11) NOT NULL KOMMENTAR 'Benutzer-UID', Geld Dezimalzahl (10, 2) NICHT NULL KOMMENTAR 'Belohnungsbetrag', Datenzeit Datumszeit NICHT NULL KOMMENTAR 'Zeit', PRIMÄRSCHLÜSSEL (id) ) Motor = INNODB AUTO_INCREMENT = 1 Zeichensatz utf8 COLLATE utf8_general_ci COMMENT = 'Belohnungstabelle'; Die Daten in der Tabelle sind wie folgt: Nun müssen wir die höchste Belohnung abfragen, die jede Person erhalten hat, und sie vom Größten zum Kleinsten sortieren: Wenn Sie direkt abfragen: Es wurden folgende Ergebnisse erzielt: Wir haben nicht die gewünschten Ergebnisse erhalten. Dies liegt daran, dass bei der gemeinsamen Verwendung von „group by“ und „order by“ zuerst „group by“ verwendet wird und das erste Datenelement nach der Gruppierung herausgenommen wird. Daher basiert die nachfolgende „order by“-Sortierung auf dem ersten herausgenommenen Datenelement, aber das erste Datenelement ist nicht unbedingt das größte Datenelement in der Gruppe. Methode 1: In diesem Fall können wir zuerst sortieren, dann gruppieren und eine Unterabfrage verwenden. WÄHLEN loswerden, r.flüssigkeit, r.Geld, r.Datenzeit VON (AUSWÄHLEN Ausweis, Flüssigkeit, Geld, Datenzeit VON Belohnung ORDER BY Geld DESC) r GRUPPE NACH r.uid BESTELLEN NACH r.money DESC; Methode 2: Wenn Sie nicht den gesamten Datensatz benötigen, können Sie max() min() verwenden. Das Ergebnis ist: Möglicherweise haben Sie festgestellt, dass die Felder money und max(money) der mit max() abgerufenen Datensätze inkonsistent sind. Dies liegt daran, dass hier nur der Maximalwert der UID abgerufen wird, nicht jedoch der gesamte Datensatz, der dem Maximalwert entspricht. Wenn Sie den gesamten Datensatz abrufen müssen, können Sie diese Methode nicht verwenden und können eine Unterabfrage verwenden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: CentOS7.5-Installationstutorial für MySQL
>>: Implementierung der Nginx-Domänennamenweiterleitung für den HTTPS-Zugriff
Durch die Verwendung von iFrames können problemlo...
Was ist ein Containerdatenvolumen? Wenn sich die ...
1.Service-Befehl Der Servicebefehl geht tatsächli...
GitHub-Adresse, Sie können es mit einem Stern mar...
Schritt 1: Bestätigen Sie die Architektur Ihres S...
Inhaltsverzeichnis 1. Installieren Sie den Vue-Vi...
Docker-Container-Verbindung 1. Netzwerk-Port-Mapp...
Inhaltsverzeichnis Vorwort 1. Die Bedeutung der K...
Inhaltsverzeichnis 1. Grammatik 2. Beispiele 3. A...
Überblick Was das aktuelle Standardnetzwerk von D...
<a href="https://www.jb51.net/" titl...
Ein Webserver kann mehrere Websites mit unabhängi...
Der spezifische Code lautet wie folgt: Der HTML-C...
Verwenden Sie OSS, um Bilder oder Anhänge in ein ...
1. Ein-Klick-Installation des Mysql-Skripts [root...