Page 1 of 2 12 Last
  1. #1
    orez's Avatar
    Registered
    17/07/02
    Location
    Meulebeke
    Posts
    4,346
    iTrader
    7 (89%)
    Mentioned
    0 Post(s)

    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
    Accent - jobs for people : Junior Marketing Manager / Web & Graphical Design Trends
    DJ orez - HipHop / R&B / Reggaeton / Dancehall / Crunk
    no votes  

  2. #2

    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  

  3. #3
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    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  

  4. #4
    orez's Avatar
    Registered
    17/07/02
    Location
    Meulebeke
    Posts
    4,346
    iTrader
    7 (89%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by servi
    This quote is hidden because you are ignoring this member. Show
    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.
    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.
    Accent - jobs for people : Junior Marketing Manager / Web & Graphical Design Trends
    DJ orez - HipHop / R&B / Reggaeton / Dancehall / Crunk
    no votes  

  5. #5
    xml's Avatar
    Registered
    25/11/02
    Location
    Gent
    Posts
    561
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    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  

  6. #6
    Disa's Avatar
    Registered
    28/04/04
    Location
    Gent
    Posts
    1,317
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    6/6
    PHP Code:
    $query mysql_query(".....")
    $years mysql_num_rows($query);
    while (
    $row mysql_fetch_array($query)) {
         
    $i $i $row["year"];
    }
    $i $i $years

    echo "We had an anverage of $i visitors." 
    Denk dat je zoiets bedoelt (heb wel wat simpel gehouden)


    Disa
    no votes  

  7. #7

    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  

  8. #8
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    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  

  9. #9

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by servi
    This quote is hidden because you are ignoring this member. Show



    in dat geval is het toch gewoon :

    SELECT COUNT(statids) DIV aantaljaren AS aantalhits,COUNT(YEAR(Date) AS jaar) AS aantaljaren FROM tblStats GROUP BY jaar;
    stop repeating me
    no votes  

  10. #10
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    doe ik niet kijk maar naar de query
    no votes  

  11. #11

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by servi
    This quote is hidden because you are ignoring this member. Show
    doe ik niet kijk maar naar de query
    blijft zelfde query, enkel dat jij met een distinct werkt en ik met een group by?

    edit: en asge u query aanpast na men post ist ook nie moeilijk he
    Last edited by killgore; 14-05-2004 at 22:36.
    no votes  

  12. #12
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    de ene query heeft afronding de andere doet floor.
    no votes  

  13. #13
    orez's Avatar
    Registered
    17/07/02
    Location
    Meulebeke
    Posts
    4,346
    iTrader
    7 (89%)
    Mentioned
    0 Post(s)
    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 ???
    Last edited by orez; 14-05-2004 at 23:31.
    Accent - jobs for people : Junior Marketing Manager / Web & Graphical Design Trends
    DJ orez - HipHop / R&B / Reggaeton / Dancehall / Crunk
    no votes  

  14. #14

    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 weg
    no votes  

  15. #15
    orez's Avatar
    Registered
    17/07/02
    Location
    Meulebeke
    Posts
    4,346
    iTrader
    7 (89%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by killgore
    This quote is hidden because you are ignoring this member. Show
    "SELECT DAY(Date), ROUND(COUNT(StatID)/COUNT(DISTINCT YEAR(Date))) AS gem_bez FROM tblStatistics"
    en nu is men inspiratie weg
    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 weet
    Last edited by orez; 14-05-2004 at 23:43.
    Accent - jobs for people : Junior Marketing Manager / Web & Graphical Design Trends
    DJ orez - HipHop / R&B / Reggaeton / Dancehall / Crunk
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in