"SELECT date, count( * ) FROM counter GROUP BY to_days( date ) ORDER BY `date` DESC"
för att ta reda på antalet besökare per dag. Hur gör jag i Mysql för att få medelvärdet på detta? Har försökt med AVG på lite olika sätt men får inget sätt att fungera...
Handboken för mysql ger ju inte mycket svar heller :( då det enda som står där är:
AVG(expr)
Returns the average value of expr:
mysql> SELECT student_name, AVG(test_score)
-> FROM student
-> GROUP BY student_name;
Och jag har ju inget fält där all info står utan jag måste ju först räkna ut det med min första mysql-fråga...
Om detta ger antalet som loggat in (enl. vad du skriver)
"SELECT date, count( * ) FROM counter GROUP BY to_days( date ) ORDER BY `date` DESC"
Så ger detta medelvärdet:
"SELECT date, avg( * ) FROM counter GROUP BY to_days( date ) ORDER BY `date` DESC"
Det gör ju inte det...jag trodde också att det skulle fungera så men där hade jag fel,
Error
SQL-query :
SELECT date, avg( * )
FROM counter
GROUP BY to_days( date )
ORDER BY `date` DESC
LIMIT 0 , 30
MySQL said:
#1064 - You have an error in your SQL syntax near '* )
FROM counter
GROUP BY to_days( date )
ORDER BY `date` DESC LIMIT 0, ' at line 1
[Documentation] · [Back]
det är felet jag får...
inte heller "SELECT date, avg( count(*) ) FROM counter GROUP BY to_days( date ) ORDER BY `date` DESC"
som jag fick för mig att testa fungera...
Du får lagra värdet av din försra fråga i en temp-tabell och sedan göra en ny fråga med avg mot den tabellen. Det går inte att göra avg(*) utan man måste alltid ange ett uttryck, t.ex ett kolumnnamn.