SQL-Gruppierung zum Entfernen von Duplikaten und Sortieren nach anderen Feldern

SQL-Gruppierung zum Entfernen von Duplikaten und Sortieren nach anderen Feldern

brauchen:

Identische Elemente eines Feldes zusammenführen und nach einem anderen Zeitfeld sortieren.

Beispiel:

Am Anfang

Stadt aus Tabelle auswählen, nach Stadt gruppieren, nach Datum absteigend sortieren

Es wird ein Fehler gemeldet, da das Datum nicht in der Aggregatfunktion oder der GROUP BY-Klausel enthalten ist

Tragen Sie das Datum anschließend in die Gruppe ein durch:

Stadt aus Tabelle auswählen, nach Stadt gruppieren, Datum, nach Datum absteigend sortieren

Holen Sie sich das Ergebnis

Aber die Ergebnisse wiederholen sich immer noch und es gibt keine Lösung

Wenn die Sortierung nicht nach Zeit erfolgt, wirkt sich dies auf meine nachfolgenden Vorgänge aus. Daher habe ich lange nach Baidu gesucht und schließlich eine Lösung gefunden:

Richtige Schreibweise:

Stadt aus Tabelle auswählen, nach Stadt gruppieren, nach max(Datum) absteigend sortieren

Habe ein sehr magisches Ergebnis gefunden

Dann habe ich nach weiteren Informationen gesucht und die Magie von max() entdeckt:

Wähle „city,max(date)“ als d1 aus der Tabelle, gruppiere nach „city,d1“, sortiere nach d1 absteigend

Schreiben Sie es hier vorne und Sie können die Zeitsortierung sehen

Wenn es einen besseren Weg gibt, teilen Sie ihn uns bitte mit.

Ergänzung: Deduplizierung in MySQL, der Unterschied zwischen DISTINCT und GROUP BY

Beispielsweise gibt es die folgende Tabelle user:

Distinct filtert Datensätze heraus, hinter denen sich doppelte Felder befinden.

Verwenden Sie distinct, um eindeutige Benutzernamen zurückzugeben: select distinct name from user;, das Ergebnis ist:

Verwenden Sie distinct, um eindeutige Namen und IDs zurückzugeben: select distinct name,id from user;, das Ergebnis ist:

Wenn Sie „eindeutiger Name, ID“ wie folgt schreiben, geht MySQL davon aus, dass Sie Datensätze mit Duplikaten sowohl im Namens- als auch im ID-Feld herausfiltern möchten.

Wenn das SQL wie folgt geschrieben ist:

Wählen Sie eine ID und einen eindeutigen Namen vom Benutzer aus.

In diesem Fall meldet MySQL einen Fehler, da „distinct“ am Anfang des abzufragenden Feldes stehen muss.

Mit „Gruppieren nach“ können Duplikate aus einem der mehreren abzufragenden Felder entfernt werden:

Wählen Sie ID und Name aus der Benutzergruppe nach Namen aus.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Verwendung von Group By in SQL
  • SQL entfernt doppelte Datensätze (sieben Typen)
  • Detaillierte Analyse der Verwendung von „group by“ und „having“ in SQL
  • Sortieren nach mehreren Feldern und Problemlösung in MySQL

<<:  Ähnlich wie HTML-Tags: strong und em, q, cite, blockquote

>>:  Die einfachste Formularimplementierung des Flexbox-Layouts

Artikel empfehlen

Prinzip der MySQL-Paging-Analyse und Effizienzverbesserung

Prinzip der MySQL-Paging-Analyse und Effizienzver...

Die Komponente vue-cropper realisiert das Zuschneiden und Hochladen von Bildern

In diesem Artikel wird der spezifische Code der V...

Grundlegendes zum MySQL-Abfrageoptimierungsprozess

Inhaltsverzeichnis Parser und Präprozessoren Abfr...

Grafische Schritte zur Zabbix-Überwachung des VMware Exsi-Hosts

1. Rufen Sie das Virtualisierungscenter auf, meld...

So benennen Sie die Tabelle in MySQL um und worauf Sie achten müssen

Inhaltsverzeichnis 1. Tabellenmethode umbenennen ...

Detaillierte Erläuterung der MySQL-Remoteverbindungsberechtigung

1. Melden Sie sich bei der MySQL-Datenbank an mys...

Wie stellt MySQL die Master-Slave-Konsistenz sicher?

Inhaltsverzeichnis Das Grundprinzip von MySQL Mas...

Teilen Sie 20 hervorragende Beispiele für Webformular-Design

Sophie Hardach Kai von Clyde Quay 37 Ost Seifenkis...

Lassen Sie uns im Detail darüber sprechen, wie Browser Abschlüsse betrachten

Inhaltsverzeichnis Vorwort Einführung in Closures...

So fügen Sie bedingte Ausdrücke zu Aggregatfunktionen in MySql hinzu

MySQL-Filterungs-Timing von Where-Bedingungen und...