Avatar billede svinget Praktikant
24. oktober 2006 - 11:39 Der er 12 kommentarer og
1 løsning

Beregning af gennemsnit i en forespørgsel

Hej

Jeg skal beregene et gennemsnit at en kolonne. Jeg har oprettet en forespørgsel, og valgt "View -> totals", samt "Avg" i "totals" i grid'et.

Det beregner godt nok gennemsnit, men den tæller alle rækker med. Den skal kun beregne gennemsnittet i de kolonner der er forskellige fra 0. Dvs:

0
4
6
0
8

Skal give et gennemsnit på  ((4+6+8)/3) = 6

Mvh. Kim
Avatar billede terry Ekspert
24. oktober 2006 - 11:56 #1
SELECT avg(Thefield) as snit FROM YourTable WHERE TheField > 0
Avatar billede mugs Novice
24. oktober 2006 - 12:37 #2
"forskellige fra 0."

Kan værdierne være mindre end 0?
Avatar billede svinget Praktikant
24. oktober 2006 - 12:51 #3
Nej, tallene er fra 0 - 5

Terry: It works :). I have more than one colmn in the table where I would like to calculate the average. How can i repeat the SQL?
Avatar billede terry Ekspert
24. oktober 2006 - 13:34 #4
This is one way of doing it.

SELECT DISTINCT (SELECT Avg(tblAverage.fld1) AS AvgOffld1
FROM tblAverage
WHERE fld1 > 0
) AS Avgfld1, (SELECT Avg(tblAverage.fld2)
FROM tblAverage
WHERE fld2 > 0
) AS Avgfld2
FROM tblAverage;
Avatar billede svinget Praktikant
24. oktober 2006 - 14:04 #5
Hi

I'm not sure where to put in the table and fild names. Is this correct?:

SELECT DISTINCT (SELECT Avg(YourTable.Thefield1) AS AvgOfThefield1
FROM YourTable
WHERE Thefield1 > 0
) AS AvgThefield1, (SELECT Avg(YourTable.Thefield2)
FROM YourTable
WHERE Thefield2 > 0
) AS AvgThefield2
FROM YourTable;
Avatar billede mugs Novice
24. oktober 2006 - 14:22 #6
Blot kopier SQL sætningen ind i en forespørgsel og ændre:

YourTable.Thefield1

til de aktuelle navn hele vejen ned igennem sætningen.
Avatar billede terry Ekspert
24. oktober 2006 - 14:22 #7
That looks OK :o)
Avatar billede svinget Praktikant
24. oktober 2006 - 15:59 #8
Great - It works fine :) - is there any easy way to have the avarage shown with 2 decimals?
Avatar billede terry Ekspert
24. oktober 2006 - 16:06 #9
three questions for the price of one :o)

take a look at the format function
Avatar billede svinget Praktikant
24. oktober 2006 - 16:17 #10
Sorry - I know. When the solution comes, new questions raises :)

Anyway, I will take a look into the format section of the help functionality. You help have been very appreciated. Thanks a lot.
Avatar billede terry Ekspert
24. oktober 2006 - 16:18 #11
selv tak. Drop a comment if you cant get format to do what you want.
Avatar billede svinget Praktikant
24. oktober 2006 - 16:29 #12
I found it under "field properties". The tricky thing was that I had chosen "Format: general Number" and "decimal Places: 2", but it didn't work. Now I have chosen "Format: Standard" and "decimal Places: 2". Now it works :)
Avatar billede terry Ekspert
24. oktober 2006 - 16:37 #13
great
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester