MySQL Having
Min tabel indeholder følgende felter:id (heltal)
ip (ip-adresse)
tid (dato, Y-m-d)
Nu har jeg så brug for at finde antallet af gange en IP fremtræder, og liste den efter hvilken der har optrådt flest gange.
Dette virker:
SELECT ip, COUNT(id) AS count1 FROM login GROUP BY ip HAVING count1>=250 ORDER BY count1 DESC
Så har jeg brug for at finde den med flest logins den seneste måned. Dette virker ikke:
SELECT ip, COUNT(id) AS count1 FROM login GROUP BY ip HAVING tid >= '2010-12-23' AND count1>=250 ORDER BY count1 DESC
Oventsående giver mig: "Unknown column 'tid' in 'having clause'"
Dette virker heller ikke:
SELECT ip, COUNT(id) AS count1, tid FROM login GROUP BY ip HAVING tid >= '2010-12-23' AND count1>=250 ORDER BY count1 DESC
Ovenstående giver et resultat, men resultatet er forkert. Jeg kan manuelt tælle en bestemt IP-adresse, der fremgår 516 gange i perioden, men den fremkommer ikke på listen... Jeg tror det har noget at gøre med at "tid" bliver inkluderet i SELECT... Men uden virker det heller ikke... Gode råd?