@Jan
Volgens mij wil GROUP BY wat je al zei inderdaad niet
Ik krijg deze error: Er is iets fout in de gebruikte syntax bij '(tijd) ORDER BY totaal DESC LIMIT 1' in regel 6
@Barman:
Met deze sql: SELECT SUM(views) AS totaal FROM stats HAVING totaal=MAX(totaal)
Krijg ik deze error: Onbekende kolom 'totaal' in having clause
Dus dat wil ook niet...
@arjan
wel ff bij de les blijven en lezen wat er fout gaat: Onbekende kolom, dan moet er bij jou toch ergens een lampje gaan rinkelen. Laat ik eens een andere kolom invullen en kijken wat er dan gebeurt. nu ben ik zelf niet sql wizzerd, maar ik geloof dat jan zijn oplossing de beste is in dit geval, en dan zelf de kolommen even aanpassen!
ik had de functienaam dus fout. Of het ook het gewenste resultaat oplevert, is vers twee.
@ Barman: klopt. Het regeltje is dus eigenlijk zo: als je een aggregate functie in een WHERE wilt hebben, moet je HAVING gebruiken.
Even een vraagje/ opmerking tussendoor..
Als je groepeerd op DAYOFMONTH(datumtijd) krijg je dan niet oook dag 1 van maand 1 en dag 1 van maand 2 bij elkaar?
<?php
$max_sql = "
SELECT
SUM(views) AS totaal
FROM
stats
GROUP BY
DAYOFMONTH(tijd)
ORDER BY
totaal DESC
LIMIT 1
";
$max_res = mysql_query($max_sql) or die(mysql_error());
$max = mysql_fetch_assoc($max_res);
echo $max['totaal'];
?>
Met deze code zegt hij: 56112
Dit lijkt mij vrij sterk, omdat het maar 56 is...