Hallo,
Ik werk zelf niet zo veel met SQL en ben nu wel erg lang bezig met een vraagstuk, daarom hier een topic.
Ik wil een query trekken welke twee vermenigvuldigde tabellen van (in dit geval) 4 rijen optelt en vervolgens dit delen door het aantal rijen wat uit de initiële query is gekomen.
Praktisch gezien heb ik dit werkend met de volgende query:
SELECT studentnummer, vak, SUM(cijfer*gewicht_cijfer / 4)
FROM cijfer
WHERE studentnummer = 101; AND vak = 'nl'
Nu krijg ik netjes de output met het gemiddelde cijfer. Toelichting: deze query bestaat dus uit 4 cijfers waarvan één 9 met gewicht 1, één 6 met gewicht 1 en één 8 met gewicht 2. Dit maakt 9 + 6 + 8 + 8 / 4 = 7.75, het laatste getal 7.75 maakt dat ook het gemiddelde cijfer.
Probleem: dit is niet schaalbaar, elke keer moet statisch 'het door te delen' getal worden aangepast in de query. Dit wil ik automatiseren.
Concreet: wil ik het aantal rijen van wordt opgehaald uit de query gebruiken ipv de statische 4 welke nu in de query staat. Hoe kan ik dit oplossen?
Ik werk zelf niet zo veel met SQL en ben nu wel erg lang bezig met een vraagstuk, daarom hier een topic.
Ik wil een query trekken welke twee vermenigvuldigde tabellen van (in dit geval) 4 rijen optelt en vervolgens dit delen door het aantal rijen wat uit de initiële query is gekomen.
Praktisch gezien heb ik dit werkend met de volgende query:
SELECT studentnummer, vak, SUM(cijfer*gewicht_cijfer / 4)
FROM cijfer
WHERE studentnummer = 101; AND vak = 'nl'
Nu krijg ik netjes de output met het gemiddelde cijfer. Toelichting: deze query bestaat dus uit 4 cijfers waarvan één 9 met gewicht 1, één 6 met gewicht 1 en één 8 met gewicht 2. Dit maakt 9 + 6 + 8 + 8 / 4 = 7.75, het laatste getal 7.75 maakt dat ook het gemiddelde cijfer.
Probleem: dit is niet schaalbaar, elke keer moet statisch 'het door te delen' getal worden aangepast in de query. Dit wil ik automatiseren.
Concreet: wil ik het aantal rijen van wordt opgehaald uit de query gebruiken ipv de statische 4 welke nu in de query staat. Hoe kan ik dit oplossen?