So ermitteln Sie den Durchschnittswert in MySQL
In MySQL können Sie die Funktion AVG() verwenden, um den Durchschnitt der angegebenen Spaltendaten zu ermitteln, indem Sie die Anzahl der zurückgegebenen Zeilen und die Summe jeder Datenzeile berechnen (Spaltenname) FROM „Tabellenname“.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
In MySQL können Sie die Funktion AVG() verwenden, um den Durchschnitt zu ermitteln.
Die MySQL AVG()-Funktion ist eine Aggregatfunktion, die zur Berechnung des Durchschnitts einer Reihe von Werten oder Ausdrücken verwendet wird. Die Funktion
AVG() kann den Durchschnitt der angegebenen Spaltendaten ermitteln, indem sie die Anzahl der zurückgegebenen Zeilen und die Summe jeder Datenzeile berechnet. Die Syntax der Funktion
AVG() lautet wie folgt:
SELECT AVG(column_name) FROM table_name;
Der Operator DISTINCT kann auch zur Funktion AVG() hinzugefügt werden, um den Durchschnitt verschiedener Werte zu berechnen. Wenn Sie beispielsweise eine Reihe von Werten haben: 1
, 1
, 2
, 3
, AVG( ) mit DISTINCT-Operation Die Funktion gibt die Summe verschiedener Werte zurück, das heißt: (1 + 2 + 3)/3 = 2.00
. 1
、1
、2
、3
,具有DISTINCT操作的AVG()函数将返回不同值的和,即:(1 + 2 + 3)/3 = 2.00
。
MySQL AVG示例
我们将在示例数据库中使用products
表进行演示,下图是products
表的结构 -
mysql> desc products; +--------------------+---------------+------+-----+---------+------------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+---------------+------+-----+---------+------------------+ | productCode | varchar(15) | NO | PRI | | | | productName | varchar(70) | NO | MUL | NULL | | | productLine | varchar(50) | NO | MUL | NULL | | | productScale | varchar(10) | NO | | NULL | | | productVendor | varchar(50) | NO | | NULL | | | productDescription | text | NO | | NULL | | | quantityInStock | smallint(6) | NO | | NULL | | | buyPrice | decimal(10,2) | NO | | NULL | | | MSRP | decimal(10,2) | NO | | NULL | | | stockValue | double | YES | | NULL | STORED GENERATED | +--------------------+---------------+------+-----+---------+------------------+ 10 rows in set
要计算products
表中所有产品的平均价格,可以使用AVG函数,如下查询:
SELECT AVG(buyprice) 'Avarage Price' FROM products;
执行上面查询语句,得到以下结果 -
mysql> SELECT AVG(buyprice) 'Avarage Price' FROM products; +---------------+ | Avarage Price | +---------------+ | 54.395182 | +---------------+ 1 row in set
请注意,FORMAT
函数用于格式化AVG
函数返回的平均值。
您可以向SELECT
语句添加一个WHERE
子句来计算子集值的平均值。 例如,要计算产品线为Classic Cars
的产品的平均价格,您可以使用以下查询:
SELECT AVG(buyprice) 'Avarage Classic Cars Price' FROM products WHERE productline = 'Classic Cars';
执行上面查询语句,得到以下结果 -
mysql> SELECT AVG(buyprice) 'Avarage Classic Cars Price' FROM products WHERE productline = 'Classic Cars'; +----------------------------+ | Avarage Classic Cars Price | +----------------------------+ | 64.446316 | +----------------------------+ 1 row in set
具有DISTINCT的MySQL AVG()函数
有些产品价格相同,可以使用以下查询来检查它:
SELECT COUNT(buyprice) - COUNT(DISTINCT buyprice) FROM products;
执行上面查询语句,得到以下结果 -
mysql> SELECT COUNT(buyprice) - COUNT(DISTINCT buyprice) FROM products; +--------------------------------------------+ | COUNT(buyprice) - COUNT(DISTINCT buyprice) | +--------------------------------------------+ | 2 | +--------------------------------------------+ 1 row in set
可以使用AVG()函数通过添加DISTINCT
运算符来计算不同价格的平均值,如下所示:
SELECT AVG(DISTINCT buyprice) FROM products;
执行上面查询语句,得到以下结果 -
mysql> SELECT AVG(DISTINCT buyprice) FROM products; +------------------------+ | AVG(DISTINCT buyprice) | +------------------------+ | 54.372870 | +------------------------+ 1 row in set
结果与使用DISTINCT
操作符的平均价格略有不同。
具有GROUP BY子句的MySQL AVG
我们经常使用AVG函数与GROUP BY
子句一起计算表中每组行的平均值。
例如,要计算每个产品线的产品的平均价格,您将使用带有GROUP BY
子句的AVG函数,如下查询语句:
SELECT productline, AVG(buyprice) 'Avarage Price' FROM products GROUP BY productline;
执行上面查询语句,得到以下结果 -
mysql> SELECT productline, AVG(buyprice) 'Avarage Price' FROM products GROUP BY productline; +------------------+---------------+ | productline | Avarage Price | +------------------+---------------+ | Classic Cars | 64.446316 | | Motorcycles | 50.685385 | | Planes | 49.629167 | | Ships | 47.007778 | | Trains | 43.923333 | | Trucks and Buses | 56.329091 | | Vintage Cars | 46.066250 | +------------------+---------------+ 7 rows in set
具有HAVING子句的MySQL AVG
您可以使用AVG函数中的HAVING
子句中为分组的平均值设置条件。 例如,如果要仅选择产品平均价格大于50
的产品线,则可以使用以下查询:
SELECT productline, AVG(buyprice) 'Avarage Price' FROM products GROUP BY productline HAVING AVG(buyprice) > 50;
执行上面查询语句,得到以下结果 -
mysql> SELECT productline, AVG(buyprice) 'Avarage Price' FROM products GROUP BY productline HAVING AVG(buyprice) > 50; +------------------+---------------+ | productline | Avarage Price | +------------------+---------------+ | Classic Cars | 64.446316 | | Motorcycles | 50.685385 | | Trucks and Buses | 56.329091 | +------------------+---------------+ 3 rows in set
MySQL AVG()函数与子查询
您可以在SQL语句中多次使用AVG()函数来计算一组平均值的平均值。 例如,可以计算产品线平均购买价格的平均买价如下:
SELECT AVG(pl_avg) 'Average Product' FROM ( SELECT AVG(buyprice) pl_avg FROM products GROUP BY productline ) avgs;
执行上面查询语句,得到以下结果 -
mysql> SELECT AVG(pl_avg) 'Average Product' FROM ( SELECT AVG(buyprice) pl_avg FROM products GROUP BY productline ) avgs; +-----------------+ | Average Product | +-----------------+ | 51.1553314286 | +-----------------+ 1 row in set
怎么运行的 -
- 子查询根据产品线计算平均购买价格。
- 外部查询计算从子查询返回的产品线的平均购买价格的平均购买价格。
具有NULL值的MySQL AVG函数
AVG()函数忽略计算中的NULL
值,请参阅以下示例:
首先,创建一个名为t
的新表,其中有两列id
和val
,val
列可以包含NULL
值。
CREATE TABLE IF NOT EXISTS t( id int auto_increment primary key, val int );
其次,在t
表中插入一些行,包括NULL
值。
INSERT INTO t(val) VALUES(1),(2),(nulL),(3);
第三,使用AVG()
函数计算val
列中值的平均值:
SELECT AVG(val) FROM t;
执行上面查询语句,得到以下结果 -
mysql> SELECT AVG(val) FROM t; +----------+ | AVG(val) | +----------+ | 2.0000 | +----------+ 1 row in set
该语句按预期返回2
,因为在AVG函数的计算中不包括NULL
值。
具有控制流函数的MySQL AVG
要计算列的平均值,并在单个语句中有条件地计算相同列的平均值,可以使用具有控制流函数(如IF
,CASE
,IFNULL
,NULLIF
等)的AVG函数。
例如,要计算Classic Cars
产品线的平均价格与所有产品的平均价格的比例,请使用以下声明:
SELECT AVG(IF(productline='Classic Cars',buyprice,NULL)) / AVG(buyprice) 'Classic Cars/ Products' FROM products;
执行上面查询语句,得到以下结果 -
mysql> SELECT AVG(IF(productline='Classic Cars',buyprice,NULL)) / AVG(buyprice) 'Classic Cars/ Products' FROM products; +------------------------+ | Classic Cars/ Products | +------------------------+ | 1.1847798580 | +------------------------+ 1 row in set
如果产品线是Classic Cars
,则IF(productline='Classic Cars',buyprice,NULL)
表达式返回价格,否则返回NULL
MySQL AVG-Beispiel
Wir werden dieproducts
-Tabelle in der Beispieldatenbank zur Demonstration verwenden Die Struktur der Code>-Tabelle-🎜rrreee🎜Um den Durchschnittspreis aller Produkte in der products
-Tabelle zu berechnen, können Sie die AVG-Funktion verwenden, wie in der folgenden Abfrage gezeigt: 🎜rrreee🎜 Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse: 🎜rrreee🎜 Beachten Sie, dass die Funktion FORMAT
zum Formatieren des von der Funktion AVG
zurückgegebenen Durchschnittswerts verwendet wird. 🎜🎜Sie können der SELECT
-Anweisung eine WHERE
-Klausel hinzufügen, um den Durchschnitt einer Teilmenge von Werten zu berechnen. Um beispielsweise den Durchschnittspreis von Produkten mit der Produktlinie Classic Cars
zu berechnen, können Sie die folgende Abfrage verwenden: 🎜rrreee🎜Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse -🎜rrreee🎜MySQL AVG()-Funktion mit DISTINCT🎜
🎜Einige Produkte haben den gleichen Preis. Sie können die folgende Abfrage verwenden, um dies zu überprüfen:🎜rrreee🎜Führen Sie das oben Gesagte aus Abfrageanweisung und erhalten Sie die folgenden Ergebnisse: 🎜rrreee 🎜Sie können die Funktion AVG() verwenden, um den Durchschnitt verschiedener Preise zu berechnen, indem Sie den OperatorDISTINCT
hinzufügen, wie unten gezeigt: 🎜rrreee🎜Führen Sie die obige Abfrage aus Anweisung und erhalten Sie die folgenden Ergebnisse -🎜rrreee🎜Ergebnisse und VerwendungDISTINCT-Betreiber variieren geringfügig. 🎜🎜MySQL AVG mit GROUP BY-Klausel🎜
🎜Wir verwenden häufig AVG-Funktionen mitGROUP BY
-Klausel. Zusammen berechnen der Durchschnitt jedes Zeilensatzes in der Tabelle. 🎜🎜Um beispielsweise den Durchschnittspreis der Produkte in jeder Produktlinie zu berechnen, würden Sie die AVG-Funktion mit der GROUP BY
-Klausel verwenden, wie in der folgenden Abfrage: 🎜rrreee🎜Führen Sie die obige Abfrage aus und Erhalten Sie das folgende Ergebnis: 🎜rrreee🎜MySQL AVG mit HAVING-Klausel🎜
🎜Sie können dieHAVING
-Klausel im AVG verwenden Funktion Bedingungen für den Gruppendurchschnitt festlegen in . Wenn Sie beispielsweise nur Produktlinien auswählen möchten, deren durchschnittlicher Produktpreis größer als 50
ist, können Sie die folgende Abfrage verwenden: 🎜rrreee🎜Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse: 🎜rrreee 🎜MySQL AVG()-Funktion und Unterabfrage🎜
🎜Sie können die AVG()-Funktion mehrmals in einer SQL-Anweisung verwenden, um den Durchschnitt einer Reihe von Durchschnittswerten zu berechnen . Beispielsweise kann der durchschnittliche Kaufpreis des durchschnittlichen Kaufpreises der Produktlinie wie folgt berechnet werden: 🎜rrreee🎜Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse – 🎜rrreee🎜Wie es funktioniert – 🎜- 🎜Unterabfrage🎜Berechnen Sie den Durchschnitt basierend auf dem Kaufpreis der Produktlinie.
- Die äußere Abfrage berechnet den durchschnittlichen Kaufpreis der von der Unterabfrage zurückgegebenen Produktlinie.
🎜MySQL AVG-Funktion mit NULL-Wert🎜
🎜AVG()-Funktion ignoriertNULL in Berechnungen code>-Wert finden Sie im folgenden Beispiel: 🎜🎜<em>Zuerst</em> erstellen Sie eine neue Tabelle mit dem Namen <code>t
mit zwei Spalten id
Wie bei val
, val
-Spalten können NULL
-Werte enthalten. 🎜rrreee🎜Zweitens fügen Sie einige Zeilen in die t
-Tabelle ein, einschließlich NULL
-Werten. 🎜rrreee🎜Drittens: Verwenden Sie die Funktion AVG()
, um den Durchschnittswert der Werte in der Spalte val
zu berechnen: 🎜rrreee🎜 Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse: 🎜rrreee🎜Diese Anweisung gibt wie erwartet 2
zurück, da der Wert NULL
nicht in die Berechnung der AVG-Funktion einbezogen wird. 🎜🎜MySQL AVG mit Kontrollflussfunktionen🎜
🎜Sie können den Durchschnitt einer Spalte berechnen und den Durchschnitt derselben Spalte bedingt in einer einzigen Anweisung berechnen Verwenden Sie AVG-Funktionen mit Kontrollflussfunktionen (z. B.IF
, CASE
, IFNULL
, NULLIF
usw.). 🎜🎜Um beispielsweise das Verhältnis des Durchschnittspreises der Produktlinie Oldtimer
zum Durchschnittspreis aller Produkte zu berechnen, verwenden Sie bitte die folgende Anweisung: 🎜rrreee🎜Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse: 🎜rrreee🎜Wenn die Produktlinie Classic Cars
ist, dann gibt der Ausdruck IF(productline='Classic Cars',buyprice,NULL)
den Preis zurück. andernfalls wird NULL
zurückgegeben. 🎜Weil die AVG-Funktion den Durchschnittspreis des NULL
值,所以AVG(IF(productline ='Classic Cars',buyprice,NULL))
表达式只计算产品线是Classic Cars
Produkts bei der Berechnung ignoriert.
【Verwandte Empfehlungen: MySQL-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie den Durchschnittswert in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Sie können eine neue MySQL -Verbindung in Navicat erstellen, indem Sie den Schritten folgen: Öffnen Sie die Anwendung und wählen Sie eine neue Verbindung (Strg N). Wählen Sie "MySQL" als Verbindungstyp. Geben Sie die Hostname/IP -Adresse, den Port, den Benutzernamen und das Passwort ein. (Optional) Konfigurieren Sie erweiterte Optionen. Speichern Sie die Verbindung und geben Sie den Verbindungsnamen ein.

Schritte zur Durchführung von SQL in Navicat: Verbindung zur Datenbank herstellen. Erstellen Sie ein SQL -Editorfenster. Schreiben Sie SQL -Abfragen oder Skripte. Klicken Sie auf die Schaltfläche Ausführen, um eine Abfrage oder ein Skript auszuführen. Zeigen Sie die Ergebnisse an (wenn die Abfrage ausgeführt wird).

Häufige Fehler und Lösungen beim Anschließen mit Datenbanken: Benutzername oder Kennwort (Fehler 1045) Firewall -Blocks -Verbindungsverbindung (Fehler 2003) Timeout (Fehler 10060) Die Verwendung von Socket -Verbindung kann nicht verwendet werden (Fehler 1042).
