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

Vier Möglichkeiten zum Erstellen von Objekten in JS

Inhaltsverzeichnis 1. Objekte durch Literalwert e...

50 superpraktische Tools für Webdesigner

Webdesigner zu sein ist nicht einfach. Sie müssen...

Font Treasure House 50 exquisite kostenlose englische Schriftartenressourcen Teil 1

Designer verfügen über eine eigene Schriftartenbi...

Vue-Grundlagen-Tutorial: Bedingtes Rendering und Listen-Rendering

Inhaltsverzeichnis Vorwort 1.1 Funktion 1.2 So st...

So konfigurieren Sie den virtuellen Nginx-Host in CentOS 7.3

Experimentelle Umgebung Eine minimal installierte...

Node implementiert Suchfeld für Fuzzy-Abfragen

In diesem Artikelbeispiel wird der spezifische Co...

Was ist ein MySQL-Tablespace?

Das Thema, das ich heute mit Ihnen teilen möchte,...

MySQL 5.7.18 Installations- und Konfigurations-Tutorial unter Windows

In diesem Artikel finden Sie das Installations- u...

Einführung in die Verwendung von MySQL-Quellbefehlen

Inhaltsverzeichnis Gedanken, die durch eine Onlin...

Implementierungsschritte der MySQL-Master-Slave-Replikation

Inhaltsverzeichnis MySQL Master-Slave-Replikation...

Kalendereffekt basierend auf jQuery

In diesem Artikelbeispiel wird der spezifische Co...