©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die AVG SQL-Funktion in MySQL und MariaDB - Durchschnittswert

AVGSyntax:AVG(Ausdruck oder Spalte)
Rückgabe-Wert:INTEGER, FLOAT
Funktions-Typ:Aggregat-Funktion, Window-Funktion
Funktions-Beschreibung

Die SQL-Funktion AVG() gibt den Durchschnittswert der Werte von "Ausdruck oder Spalte" zurück.

Bei der Ermittlung von Durchschnittswerten von Zeichenketten-Argumenten gibt die Funktion 0 zurück.

Die Verwendung von einer DISTINCT-Klausel führt zur Berechnung von nur unterschiedlichen Werten.

Bei ENUM-Feldern wird ein Durchschnittswert der Positionen der Werte in ihren Listen berechnet.

Bei SET-Feldern wird ein Durchschnittswert der Binär-Positionen der Werte in ihren Listen errechnet = POW(2, Position-1).

Als Aggregatfunktion kann die AVG()-Funktion mit einer GROUP BY-Klausel verwendet werden.

AVG() kann als Fensterfunktion verwendet werden.

Die Funktion AVG() gibt NULL zurück, wenn kein Ergebnis gefunden wurde.

SQL Beispiele für die AVG-Funktion

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

DROP TABLE IF EXISTS `test_table`;
    
CREATE TABLE `test_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `type` enum('First','Second','Third','Last'DEFAULT NULL,
  `set` set('First','Second','Third','Last'DEFAULT NULL,
  `num` int(11) NOT NULL DEFAULT 0,
  `price` decimal(10,2) NOT NULL DEFAULT 0.00,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

INSERT INTO `test_table` (`id`,`name`,`type`,`set`,`num`,`price`VALUES 
(1,'Art 1','First','Last',1,10.50),
(2,'Art 2','Second','First,Last',3,12.50),
(3,'Art 3','Second','Second,Last',2,15.50),
(4,'Art 4','Third','First,Second',5,25.50),
(5,'Art 5','Last','First,Last',2,5.50),
(6,'Art 6','First','First',12,1.50),
(7,'Art 7','Third','First,Third',20,1.75),
(8,'Art 8','Last','Second,Third',100,11.90);

select * from `test_table`;

select avg(name) from test_table;

select avg(num),avg(price),avg(`type`),avg(`set`from test_table;
select avg(num),avg(price) from test_table where id>8;

/* as Window function */

SELECT name, `type`, price, avg(price) 
  OVER (PARTITION BY `type`AS `avg` FROM test_table;

select avg('Test');

id
name
type
set
num
price
int(11)varchar(20) LATIN1enum LATIN1set LATIN1int(11)decimal(10,2)
1Art 1FirstLast110.50
2Art 2SecondFirst,Last312.50
3Art 3SecondSecond,Last215.50
4Art 4ThirdFirst,Second525.50
5Art 5LastFirst,Last25.50
6Art 6FirstFirst121.50
7Art 7ThirdFirst,Third201.75
8Art 8LastSecond,Third10011.90
avg(name)
double(23)
0
avg(num)
avg(price)
avg(`type`)
avg(`set`)
decimal(16)decimal(16)decimal(12)decimal(29)
18.125010.5812502.50006.3750
avg(num)
avg(price)
decimal(16)decimal(16)
NULLNULL
name
type
price
avg
test_table
varchar(20) LATIN1
test_table
enum LATIN1
test_table
decimal(10,2)

decimal(16)
Art 6First1.506.000000
Art 1First10.506.000000
Art 2Second12.5014.000000
Art 3Second15.5014.000000
Art 7Third1.7513.625000
Art 4Third25.5013.625000
Art 8Last11.908.700000
Art 5Last5.508.700000
avg('Test')
double(8)
0
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der AVG() Funktion in MySQL und MariaDB-Datenbanken

Die AVG()-Funktion in MySQL und MariaDB wird verwendet, um den Durchschnittswert einer bestimmten Tabellen-Spalte oder eines Ausdrucks zu berechnen und gibt als Ergebnis den Durchschnitt als Dezimal- oder Gleitkommazahl zurück. Dabei kann die Funktion auch in Kombination mit anderen Funktionen und Klauseln verwendet werden, beispielsweise mit der GROUP BY-Klausel, um Durchschnittswerte für verschiedene Gruppen zu berechnen. Bei der Berechnung werden nur Nicht-NULL-Werte in der angegebenen Spalte oder im angegebenen Ausdruck berücksichtigt. NULL-Werte werden ignoriert.

Die Funktion dient zum Beispiel dazu, Durchschnittswerte zu berechnen, um den Durchschnitt numerischer Daten wie Preise, Mengen, Bewertungen oder andere messbare Größen zu ermitteln. Die Funktion wird häufig in Reporten und Analysen verwendet, um Daten zusammenzufassen und Durchschnittswerte bereitzustellen, die ein repräsentatives Maß für einen Datensatz ergeben. Ebenfalls können mit der Funktion in Leistungsanalysen durchschnittliche Antwortzeiten, durchschnittliche Abfrage-Ausführungszeiten oder andere leistungsbezogene Kennzahlen berechnet werden.
ASINATANATAN2AVGBENCHMARKBINBIN_TO_UUID

Weitere MySQL und MariaDB SQL Aggregat-Funktionen

ANY_VALUEANY_VALUE(Spalte)
Mehr zur ANY_VALUE-Funktion

BIT_ANDBIT_AND(Ausdruck oder Spalte)
Mehr zur BIT_AND-Funktion

BIT_ORBIT_OR(Ausdruck oder Spalte)
Mehr zur BIT_OR-Funktion

BIT_XORBIT_XOR(Ausdruck oder Spalte)
Mehr zur BIT_XOR-Funktion

COUNTCOUNT(Ausdruck oder Spalte)
Mehr zur COUNT-Funktion

GROUP_CONCATGROUP_CONCAT([DISTINCT] Ausdruck [, Ausdruck ...] [ORDER BY ... [ASC | DESC]] [SEPARATOR ...] [LIMIT ...])
Mehr zur GROUP_CONCAT-Funktion

JSON_ARRAYAGGJSON_ARRAYAGG(Ausdruck oder Spalte)

JSON_OBJECTAGGJSON_OBJECTAGG(Ausdruck oder Spalte)

MAXMAX(Ausdruck oder Spalte)
Mehr zur MAX-Funktion

MINMIN(Ausdruck oder Spalte)
Mehr zur MIN-Funktion

SUMSUM(Ausdruck oder Spalte)
Mehr zur SUM-Funktion

STDSTD(Ausdruck oder Spalte)
Mehr zur STD-Funktion

STDDEVSTDDEV(Ausdruck oder Spalte)
Mehr zur STDDEV-Funktion

STDDEV_POPSTDDEV_POP(Ausdruck oder Spalte)
Mehr zur STDDEV_POP-Funktion

STDDEV_SAMPSTDDEV_SAMP(Ausdruck oder Spalte)
Mehr zur STDDEV_SAMP-Funktion

VAR_POPVAR_POP(Ausdruck oder Spalte)
Mehr zur VAR_POP-Funktion

VAR_SAMPVAR_SAMP(Ausdruck oder Spalte)
Mehr zur VAR_SAMP-Funktion

VARIANCEVARIANCE(Ausdruck oder Spalte)
Mehr zur VARIANCE-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion AVG: mysql.com und mariadb.com
Aktualisiert: 17.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer