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

Lösung für MySQL 8.0 kann nicht gestartet werden 3534

Der MySQL 8.0-Dienst kann nicht gestartet werden ...

HTML/CSS (der erste Leitfaden, den Anfänger unbedingt lesen sollten)

1. Die Bedeutung von Webstandards verstehen - War...

Implementierung von React-Loop-Daten (Liste)

Lassen Sie uns zunächst die Daten simulieren, die...

Allgemeiner HTML-Seitenstil (empfohlen)

Wie unten dargestellt: XML/HTML-CodeInhalt in die...

Vergleich der Effizienz verschiedener Methoden zum Löschen von Dateien in Linux

Testen Sie die Effizienz des Löschens einer große...

Zusammenfassung der Wissenspunkte zur MySQL-Master-Slave-Replikation

Eine Optimierungslösung, wenn ein einzelner MySQL...

Einführung in Linux-Komprimierungs- und Dekomprimierungsbefehle

Inhaltsverzeichnis Gängige Komprimierungsformate:...

MySQL-Lerndatenbank-Suchanweisung DQL Xiaobai Kapitel

Inhaltsverzeichnis 1. Einfacher Datenabruf 2. Dat...

Gruselige Halloween-Linux-Befehle

Auch wenn nicht Halloween ist, lohnt es sich, sic...

So löschen Sie zusätzliche Kernel in Ubuntu

Schritt 1: Den aktuellen Kernel anzeigen rew $ un...

25 Tipps und Tricks zur Div+CSS-Programmierung

1. Das ul-Tag hat in Mozilla standardmäßig einen ...

Einführung in die grundlegenden Konzepte und Technologien der Webentwicklung

Heute stellt dieser Artikel Anfängern einige grun...

Beschreiben Sie kurz den Unterschied zwischen MySQL und Oracle

1. Oracle ist eine große Datenbank, während MySQL...

JavaScript zum Erreichen eines einfachen Bildwechsels

In diesem Artikel wird der spezifische Code für J...