"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.