OnderwerpenSpiekbriefjeLessen
Lurndo › Onderwerpen › AVG

SQL leren: AVG

Gemiddelden met AVG

"Zijn onze klanten tevreden?" vraagt Lien. "En hoe lang houden ze een fiets gemiddeld bij?" Gemiddelden dus. Met een paar addertjes.

AVG berekent het gemiddelde

AVG (average) telt de waarden op en deelt door hun aantal. Dit is de gemiddelde dagprijs van alle fietsen.

Een gemiddelde is zelden een rond getal. Dat is geen fout: SQL rondt niet af tenzij je erom vraagt.

SELECT AVG(dagprijs) AS gemiddelde_dagprijs FROM fietsen
Resultaat
gemiddelde_dagprijs
21.625

AVG slaat NULL over

Net als COUNT(kolom) en SUM kijkt AVG alleen naar ingevulde waarden. De gemiddelde beoordeling is dus de som gedeeld door 24 beoordelingen, niet door alle 30 verhuringen.

Dat is meestal wat je wil: wie niets invulde, gaf geen nul.

SELECT AVG(beoordeling) AS gemiddelde, SUM(beoordeling) AS som, COUNT(beoordeling) AS aantal FROM verhuringen
Resultaat
gemiddeldesomaantal
4.1259924

Valkuil, delen door gehele getallen

Je kan een gemiddelde ook zelf berekenen met SUM(...) / COUNT(...). Maar zijn beide gehele getallen, dan deelt SQLite ook geheel en gooit de rest weg: 7 / 2 geeft 3.

AVG heeft daar geen last van. Hier zie je het verschil voor de huurduur van de e-bikes.

SELECT SUM(dagen) / COUNT(*) AS zelf_gedeeld, AVG(dagen) AS met_avg FROM verhuringen WHERE fietstype = 'e-bike'
Resultaat
zelf_gedeeldmet_avg
33.1

Probeer het zelf

Wat is de gemiddelde beoordeling van de verhuringen van e-bikes?

Klaar voor meer?

De volledige les heeft 6 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.

Begin aan de les
← VorigeOptellen met SUMVolgende →Het kleinste en het grootste
SQL-onderwerpenSpiekbriefjeExcelRanglijstAccountPrivacyEnglish