Hoi

Mijn database ziet er als volgt uit

id       | INT
tijd     | DATETIME
views | INT


Nu wil ik het aantal views van een dag berekenen.
Dit gaat nog wel... gewoon met de SUM(views) funcite om het aantal views op een dag te berekenen.

Maar dat wil ik niet... ik wil het maximum aantal views per dag van een maand berekenen.

Bijvoorbeeld
op dag 1 zijn er 10 views
op dag 2 zijn er 15 views
op dag 3 zijn er 5 views
op dag 4 zijn er 25 views
op dag 4 zijn er 15 views

Dan moet hij dus als output 25 geven. En dit gedurende één maand (dus 31 dagen)

Hoe kan ik dit berekenen ??

Groeten,
Arian
Enig idee waar die 112 vandaan komt? (ligt het ook aan mij of is het wel heel toevallig het dubbele aantal van 56)

SELECT 
   SUM(views) AS totaal, 
   MAX(SUM(views)) as hoogste
FROM 
  stats 
GROUP BY
  totaal,
  hoogste,
   DAYOFMONTH(tijd)
HAVING 
  totaal=hoogste


En zo?
Ik heb nog even een paar keer auto laten refreshen (Opera :D) zodat hij nu 128 views heeft. Nu geeft hij 128184 weer...
@ Klaasjan: er mist een komma aan het einde van regel 2 van je voorbeeld.
@ Klaasjan: Nee, helaas... hij zegt nu dit: Er is iets fout in de gebruikte syntax bij 'MAX(SUM(views)) AS hoogste FROM stats GROUP BY totaal,' in regel 3


Met komma zegt hij dit: Ongeldig gebruik van GROUP-functie
Jan Koehoorn schreef op 25.10.2006 11:42
@ Klaasjan: er mist een komma aan het einde van regel 2 van je voorbeeld.


Aangepast
Ik heb ook nog even gesnuffeld:

SELECT MAX( views ) AS hoogste,
DATE_FORMAT( tijd, '%Y-%m' ) AS maand
FROM tabelnaam
GROUP BY maand
ORDER BY maand ASC
LIMIT 0 , 30
Jan Koehoorn schreef op 25.10.2006 11:52
Ik heb ook nog even gesnuffeld:

SELECT MAX( views ) AS hoogste,
DATE_FORMAT( tijd, '%Y-%m' ) AS maand
FROM tabelnaam
GROUP BY maand
ORDER BY maand ASC
LIMIT 0 , 30


Ik mis de HAVING
@ Klaasjan: ik heb lokaal even een kleine testtabel gemaakt en daar rolden de goede waarden uit zonder dat ik HAVING nodig had, vandaar.

Reageren