Grundlegende MySQL-Grundlagen: Gruppierungsfunktion, Aggregatfunktion, Gruppierungsabfrage – ausführliche Erklärung

Grundlegende MySQL-Grundlagen: Gruppierungsfunktion, Aggregatfunktion, Gruppierungsabfrage – ausführliche Erklärung

1. Einfach zu bedienen

SUM: Summe (wird im Allgemeinen zur Verarbeitung numerischer Werte verwendet)
AVG: Durchschnitt (wird im Allgemeinen zur Verarbeitung numerischer Werte verwendet)
MAX: Maximum (kann auch zur Verarbeitung von Zeichenfolgen und Datumsangaben verwendet werden)
MIN: Minimum (kann auch zur Verarbeitung von Zeichenfolgen und Datumsangaben verwendet werden)
COUNT: Menge (zählt die Anzahl der Werte ungleich Null)

Die obigen Gruppierungsfunktionen ignorieren NULL-Werte.

SELECT SUM(Gehalt) AS Summe, AVG(Gehalt) AS Durchschnitt, MAX(Gehalt) AS Maximum, MIN(Gehalt) AS Minimum, COUNT(Gehalt) AS Zahl FROM Mitarbeiter;

Bildbeschreibung hier einfügen

2. Verwenden Sie DISTINCT, um Duplikate zu entfernen

(Alle oben genannten Funktionen sind verfügbar)

SELECT SUM(DISTINCT salary) AS Summe, AVG(DISTINCT salary) AS Durchschnitt, COUNT(DISTINCT salary) AS Anzahl der entfernten Duplikate, COUNT(salary) AS Anzahl der Nicht-Duplikate FROM employees;

Bildbeschreibung hier einfügen

3. Detaillierte Einführung von COUNT()

#Entspricht der Methode zum Zählen von Zeilen SELECT COUNT(*) 
VON Mitarbeitern;
#Entspricht der zweiten Methode zum Zählen von Zeilen, wobei 1 durch andere Konstanten oder Felder ersetzt werden kann SELECT COUNT(1) 
VON Mitarbeitern;

Effizienzprobleme:
COUNT(*) ist hocheffizient unter der MYISAM-Speicher-Engine
In der Speicher-Engine INNODB sind COUNT(*) und COUNT(1) fast genauso effizient, aber höher als COUNT(字段)

Daher wird COUNT(*) im Allgemeinen verwendet, um die Anzahl der Zeilen zu zählen.

4. Gruppenabfrage

#[] enthält optionale SELECT-Gruppierungsfunktionen und Listen (muss nach GROUP BY erscheinen)
FROM Tabelle [WHERE Filterbedingung]
GROUP BY Gruppierungsliste [ORDER BY-Klausel]

Beispiel:

#Frage das höchste Gehalt für jede Jobart ab SELECT MAX(Gehalt) AS höchstes Gehalt, Job-ID
VON Mitarbeitern
GRUPPE NACH Job-ID;

Bildbeschreibung hier einfügen

#Abfrage des Durchschnittsgehalts von Mitarbeitern, deren E-Mails ein enthalten, in jeder Abteilung (Screening vor Gruppierung)
SELECT AVG(Gehalt) AS Durchschnittsgehalt, Abteilungs-ID
VON Mitarbeitern
WO E-Mail WIE '%a%'
GRUPPE NACH Abteilungs-ID;

Bildbeschreibung hier einfügen

#Frage die Anzahl der Mitarbeiter in Abteilungen ab, in denen die Anzahl der Mitarbeiter größer als 2 ist (Screening nach Gruppierung)
#Verwendung von HAVING
SELECT COUNT(*) AS Mitarbeiternummer,Abteilungs-ID
VON Mitarbeitern
GROUP BY Abteilungs-ID
MIT ANZAHL(*)>2;

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

#SELECT COUNT(*) AS Anzahl der Mitarbeiter, Job-ID, Abteilungs-ID nach mehreren Feldern
VON Mitarbeitern
GRUPPE NACH Job-ID, Abteilungs-ID;

Bildbeschreibung hier einfügen

#Vollständige Struktur SELECT AVG(Gehalt) AS Durchschnittsgehalt, Abteilungs-ID
VON Mitarbeitern
Wobei department_id nicht NULL ist
GROUP BY Abteilungs-ID
MIT DURCHSCHNITTLICHEM (Gehalt)>9000
ORDER BY AVG(Gehalt) DESC;

Bildbeschreibung hier einfügen

Damit ist dieser Artikel über die wesentlichen Grundlagen von MySQL zu Gruppierungsfunktionen, Aggregatfunktionen und gruppierten Abfragen abgeschlossen. Weitere Informationen zu MySQL-Gruppierungsfunktionen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Sehr praktisches Tutorial zur umfassenden Zusammenfassung der MySQL-Funktionen und detaillierten Beispielanalysen
  • MySQL praktische Fensterfunktion SQL-Analyse Klasse Testergebnisse und Lebenshaltungskosten Studenten
  • MySQL-Datenbank-Grundlagen SQL-Fensterfunktion Beispielanalyse-Tutorial
  • Details der MySQL-Berechnungsfunktion
  • MySQL-Beispiel zur Erläuterung von Einzelzeilenfunktionen und Zeichenmathematik, Datumsprozesssteuerung
  • Eine kurze Einführung in MySQL-Funktionen
  • MySQL-Speicherung räumlicher Daten und Funktionen
  • Umfassende Zusammenfassung der MySQL-Funktionen

<<:  Einführung in die Bereitstellung des Selenium-Crawler-Programms unter Linux

>>:  Lösung für die durch das FOUC-Problem auf Webseiten verursachte Verwirrung auf Webseiten

Artikel empfehlen

Implementierung von Docker zum Erstellen eines Zookeeper- und Kafka-Clusters

Ich habe vor Kurzem Kafka gelernt. Als ich mich d...

Probleme und Lösungen bei der Installation und Verwendung von VMware

Die virtuelle Maschine wird verwendet oder es kan...

Einführung in die Verwendung gängiger XHTML-Tags

Es gibt viele Tags in XHTML, aber nur wenige werd...

Eine kurze Diskussion über die VUE Uni-App-Entwicklungsumgebung

Inhaltsverzeichnis 1. Über die visuelle Schnittst...

Tutorial zur manuellen Installation und Konfiguration von mysql8.0.11 winx64

Lassen Sie mich zunächst über meinen Alltag sprec...

Drei Möglichkeiten, das horizontale Div-Layout auf beiden Seiten auszurichten

In diesem Artikel werden hauptsächlich drei Metho...

Docker exec führt mehrere Befehle aus

Der Befehl „Docker Exec“ kann Befehle in einem la...

Richtige Methode zum Laden von Schriftarten in Vue.js

Inhaltsverzeichnis Schriftarten mit font-face ric...

So verhindern Sie, dass Flash HTML-Div-Elemente abdeckt

Als ich heute einen Flash-Werbecode schrieb, habe ...