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

Implementierungsbeispiel für die Nginx-Zugriffskontrolle

Über Nginx, eine leistungsstarke, leichte Webserv...

CSS3-Mauszeiger-Übergangszoomeffekt

Das Folgende ist ein Bild-Zoom-Effekt, der in rei...

Beispielanalyse des Prinzips und der Lösung des MySQL-Gleitreihenfolgeproblems

Dieser Artikel erläutert anhand von Beispielen da...

Zwei Möglichkeiten zum Exportieren von CSV in Win10 MySQL

Es gibt zwei Möglichkeiten, CSV in Win10 zu expor...

Detaillierte Erläuterung des MySQL Master-Slave-Replikationsprozesses

1. Was ist Master-Slave-Replikation? Die DDL- und...

Detaillierte Erklärung des TS-Objekt-Spread-Operators und des Rest-Operators

Inhaltsverzeichnis Überblick Objektrestattribut E...

Detaillierte Erklärung zum dynamischen Festlegen des Browsertitels in Vue

Inhaltsverzeichnis Unsinn Text Der erste router/i...

Spezifische Verwendung des Node.js-Paketmanagers npm

Inhaltsverzeichnis Zweck npm init und package.jso...

Verwenden Sie die Renderfunktion, um hoch skalierbare Komponenten zu kapseln

brauchen: In der Hintergrundverwaltung gibt es hä...

Detaillierte Erklärung zur Verwendung der Linux-Umleitung

Ich glaube, dass jeder manchmal Daten kopieren un...

JavaScript zur Implementierung eines einfachen Einkaufsformulars

In diesem Artikel wird der spezifische JavaScript...

Benutzererfahrung bei der Neugestaltung der Portal-Website

<br />Vom Start der neuen Homepage von NetEa...