-
13-05-2004, 14:41 #1
SQL: Gemiddelde bereken van Aantal Jaren die al Opgeteld zijn...
Ok ik ben aan een statistics scriptje bezig, en ik heb al verschillende statistics zoals, bezoeker vandaag, gister, vorige maand, deze maand, vorig jaar, dit jaar, etc....
Nu echt wil ik ook nog eens het gemiddeld aantal gebruikers berekenen per dag/maand/jaar
Voor het jaar heb ik momenteel dit:
"SELECT DISTINCT YEAR(Date), COUNT(StatID) AS Totaal_bez FROM tblStatistics"
Hier krijg ik dus mooi
2001 ---- 789
2002 ---- 945
2003 ---- 654
....
Nu wil ik hiervan echter het gemiddelde bereken, dus de AVG nemen van die 3 velden. Hier raak ik niet echt verder...
En ook van Maanden & Dagen (loopt over alle jaren) hiervan weet ik niet echt hoe ik eraan moet beginnen, want DAY(Date) haalt de dag op uit dit veld, maar het wordt meermaals herhaald, dus kan ik hier moeilijk een DISTINCT opzetten dat ik normaal toch nodig heb om de statistieken te bereken of zou dit werken met
"SELECT AVG(DAY(Date)) AS ... FROM ... " Of met "SELECT AVG(SUM(DAY(Date))) AS ... FROM ..."
Gelieve mij hierwat klaarheid in te geven bedankt
no votes
-
-
13-05-2004, 20:04 #2Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
"SELECT YEAR(Date) AS Year, DAY(Date), COUNT(StatID) AS Totaal_bez FROM tblStatistics GROUP BY Year"
zoiets???
edit: stomme fout opgemerkt, zou nu moete zijn wat je zoekt.Last edited by killgore; 14-05-2004 at 18:22.
no votes
-
14-05-2004, 16:15 #3
ik ben niet zeker of ik het probleem correct begrijp , maar kun je niet gewoon doen :
SELECT MONTH(Date), YEAR(Date) AS jaarnummer, COUNT(StatID) AS Totaal_bez FROM tblStatistics GROUP BY jaarnummer
hmm killgore heeft ongeveer hetzelfde geschreven, dus ik vermoed dat je toch ergens in die richting moet zoeken.no votes
-
14-05-2004, 18:42 #4
jaja maar zo krijg ik alle jaren ondereen
dus
jaarnummer -- Totaal_bez
2001 ---------- 999
2002 ---------- 999
2003 ---------- 999
Tis net van dit deel dat ik jaargemiddelde wil berekenen dus --> 999 + 999 +999 /3
Dus ergens iet met een AVG, dat ik uiteindelijk slechts 1 getal uitkom.no votes
-
14-05-2004, 19:15 #5
Kunt ge dat niet beter (of evengoed) in een loop smijten? Dan moet ge maar één query doen.
-= Science may never come up with a better officecommunication system than the coffee break. =-
-= We'll use a signal I have tried and found far-reaching and easy to yell: Waa-hoo!! =-no votes
-
14-05-2004, 19:33 #6no votes
-
14-05-2004, 21:28 #7Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
"SELECT COUNT(YEAR(Date)) AS aJaren, DAY(Date), COUNT(StatID) DIV aJaren AS gem_bez FROM tblStatistics GROUP BY aJaren"
dit dan??? (rond af naar beneden wel)Last edited by killgore; 14-05-2004 at 22:21.
no votes
-
14-05-2004, 22:20 #8
jaja maar zo krijg ik alle jaren ondereen
dus
jaarnummer -- Totaal_bez
2001 ---------- 999
2002 ---------- 999
2003 ---------- 999
Tis net van dit deel dat ik jaargemiddelde wil berekenen dus --> 999 + 999 +999 /3

in dat geval is het toch gewoon :
SELECT
( COUNT(statids) + aantaljaren / 2 ) DIV aantaljaren AS aantalhits,
COUNT(DISTINCT YEAR(Date)) AS aantaljaren FROM tblStats;Last edited by servi; 14-05-2004 at 22:35.
no votes
-
14-05-2004, 22:22 #9Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
14-05-2004, 22:23 #10
doe ik niet kijk maar naar de query
no votes
-
14-05-2004, 22:25 #11Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
14-05-2004, 22:34 #12
de ene query heeft afronding de andere doet floor.
no votes
-
14-05-2004, 23:09 #13
Toch werkt geen van beiden???
Geeft telkens syntax error bij aJaren of aantaljaren, wat is de betekenis van die DIV ? Functie om het gemiddelde te berekenen ofzo?
*edit: kzit al zover
SELECT COUNT(DISTINCT YEAR(Date)) AS aJaren, COUNT(StatID) As tot_Stats
FROM dbo.tblStatistics
Telt hoeveel jaar er zijn ... Telt het totaal aan Stats Voor de 4 jaar nu zou ik er nog enkel voor moeten zorgen voor
aJaren / Tot_Stats maar als ik doe (aJaren / Tot_Stats) As Gem_bez, krijg ik ne fout : Invalid column name: aJaren, Tot_Stats... Hoe moet ik nu verder ???no votes
-
14-05-2004, 23:24 #14Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
"SELECT DAY(Date), ROUND(COUNT(StatID)/COUNT(DISTINCT YEAR(Date))) AS gem_bez FROM tblStatistics"
en nu is men inspiratie wegno votes
-
14-05-2004, 23:34 #15
Function ROUND Requires 2 or 3 attributes...
pff SQL is ook ni alles ze
*edit
Dit doet voorlopig de truc:
SELECT COUNT(StatID)/COUNT(DISTINCT YEAR(Date)) AS gem_bez FROM tblStatistics
Het afronden zal ik later wel nog eens zoeken tenzij iemand hier raad mee weetno votes
