webForumDet fria alternativet

Medelvärde på antal besökare per dag?

Databaser & SQL

4 svar · 407 visningar · startad av Picklezz

Medlem sedan jan. 2002414 inlägg
Frågan#1

Kör nu med:

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

Så någon som vet?

Medlem sedan mars 20034 471 inlägg
#2

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"

Medlem sedan jan. 2002414 inlägg
#3

aasah skrev:

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

Medlem sedan dec. 200012 464 inlägg
#4

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.

Medlem sedan jan. 2002414 inlägg
#5

Jo det funka visst!
Kan kolla upp sen hur jag gjorde för jag har fixat det på nått vänster...
Utan att mellanlagra...

Återkommer med rapport när jag har tillgång till min webbserver..

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)