så i mit udtræk vil jeg have så hvis jeg i WHERE-sætningen skriver afdeling = 45 and afdeling = 46 and dato >1/6-2008 så skulle den tage 8+6/2 = 7 og 10 20/2 = 15 og så regne summen ud 7+15=22 så forespørgssel skulle kun komme ud med 22.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SELECT Sum(AvgOfvaerdi) AS SumOfAvgOfvaerdi FROM (SELECT tabel.afdeling, Avg(tabel.vaerdi) AS AvgOfvaerdi FROM tabel WHERE (((tabel.dato)>#6/1/2008#)) GROUP BY tabel.afdeling) WHERE afdeling IN(45, 46);
Bortset fra, at du ikke vill få nogen rækker valgt ved at kræve både afdeling = 45 og afdeling = 46 opfyldt på samme tid, så burde det kunne ske via en SQL som denne: :-)
SELECT afdeling, AVG(værdi) AS gennemsnit, (SELECT AVG(værdi) FROM dinTabel WHERE (afdeling = 45 or afdeling = 46) and dato > #1-6-2008#) AS TotaltGennemsnit FROM dinTabel WHERE (afdeling = 45 or afdeling = 46) and dato > #1-6-2008# GROUP BY afdeling
Du kommer vist desværre ikke uden om at specificere WHERE kriteriet i begge forespørgsler.
Men måske har jeg lagt for meget i spørgsmålet. Ved endnu en nærlæsning, kan det også betyde, at du bare ønsker din sum af afdelingsgennemsnittene returneret. Så er det bare med at skrive:
SELECT AVG(værdi) AS TotalGennemsnit FROM dinTabel WHERE (afdeling = 45 or afdeling = 46) and dato > #1-6-2008#
(summen af gennemsnittet pr. afdeling = gennemsnittet for alle valgte rækker)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.