SQL Basis

Hoofdstuk 9 - Aggregaat functies

  • Vatten de gegevens over meerdere rijen samen in een waarde
  • Eventueel met vooraf DISTINCT dubbele waarden verwijderen
  • Worden meestal gebruikt voor statistische doeleinden
  • Aggregaatfuncties combineren met velden die meer dan één waarde op (kunnen) leveren, is niet mogelijk. Hiervoor heb je een nieuwe clausule nodig, Zie volgende hoofdstuk

Functie Beschrijving
AVG( ) Geeft het gemiddelde van een kolom
COUNT( ) Geeft het aantal rijen in een kolom
MAX( ) Geeft de hoogste waarde uit een kolom
MIN( ) Geeft de laagste waarde uit een kolom
SUM( ) Geeft een totaal optelling van de waarden in een kolom

  • Bovenstaande aggregaatfuncties zijn hetzelfde in de verschillende DBMS-en: >Oracle, MySQL, SQL Server, PostgreSQL
  • NULL-waarden worden door COUNT( ) genegeerd als een kolomnaam is opgegeven. Bij een * niet!

SELECT AVG(kolom_naam) AS <kolomnaam>
FROM   <tabel>	

Geef het gemiddelde van de kolom quantity uit OrderItems

-- Oracle / MySQL / SQL Server
SELECT AVG(quantity) AS GemAantal
FROM   OrderItems;
GemAantal
79.4444
SELECT COUNT(*) AS <kolomnaam>
FROM   <tabel>	

Geef het aantal rijen dat voorkomt in de tabel Customers

-- Oracle / MySQL / SQL Server
SELECT COUNT(*) AS AantalKlanten
FROM   Customers;
AantalKlanten
5
SELECT MAX(kolom_naam)
FROM   <tabel>	

Geef de hoogste item_price uit OrderItems

-- Oracle / MySQL / SQL Server
SELECT MAX(item_price) 
FROM   OrderItems;
MAX(item_price)
11.99
SELECT MIN(kolom_naam)
FROM   <tabel>	

Geef de laagste item_price uit OrderItems

-- Oracle / MySQL / SQL Server
SELECT MIN(item_price) 
FROM   OrderItems;
MIN(item_price)
2.49
SELECT SUM(kolom_naam)
FROM   <tabel>	

Geef een optelling van quantity uit OrderItems

-- Oracle / MySQL / SQL Server
SELECT SUM(quantity) 
FROM   OrderItems;
SUM(quantity)
1430
  1. Hoeveel leveranciers zijn er (1)


  1. Hoeveel leveranciers leveren er producten? (1)


  1. Wat is de totale waarde van alle bestellingen? (quantity * item_price) (1)


  1. Wat is de gemiddelde artikelprijs van leverancier 'DLL01'? (1)


  1. Tel het aantal producten waar 'inch' voorkomt in de productomschrijving (1)