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

So richten Sie Spring Boot mithilfe der Docker-Schichtenverpackung ein

Das Spring Boot-Projekt verwendet Docker-Containe...

Lösung für den MySQL-Root-Passwortfehler Nummer 1045

MySQL-Dienst stoppen Klicken Sie in Windows mit d...

Detaillierte Erklärung der MySQL information_schema-Datenbank

1. Übersicht Die Datenbank information_schema ist...

Viewport-Parameter für mobile Browser (Web-Frontend-Design)

Mobile Browser platzieren Webseiten in einem virtu...

Detaillierte Analyse von MySQL-Deadlock-Problemen

Vorwort Wenn sich unser Geschäft in einem sehr fr...

Tutorial zur Docker-Installation in einer Linux-Umgebung

1. Installationsumgebung Docker unterstützt die f...

Beispiel für den Aufbau eines Redis-Sentinel-Clusters basierend auf Docker

1. Übersicht Redis Cluster ermöglicht hohe Verfüg...

Natives JS zur Implementierung der Drag-Position-Vorschau

In diesem Artikel wird eine kleine Demo gezeigt, ...

So implementieren Sie das Rasterlayout mit Intervallen perfekt auf der Seite

Typische Layoutbeispiele Wie im obigen Bild gezei...