unieke ip's per land
Ruben Vanhoeyveld
10/08/2011 13:57:03Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
mysql> SELECT ip, country FROM stats
+-----------------+---------+
| ip | country |
+-----------------+---------+
| 91.177.184.192 | Belgium |
| 91.177.184.192 | Belgium |
| 91.177.241.177 | Belgium |
| 91.177.172.218 | Belgium |
| 213.186.120.196 | Ukraine |
| 789.012.345.678 | France |
| 012.345.678.901 | England |
+-----------------+---------+
+-----------------+---------+
| ip | country |
+-----------------+---------+
| 91.177.184.192 | Belgium |
| 91.177.184.192 | Belgium |
| 91.177.241.177 | Belgium |
| 91.177.172.218 | Belgium |
| 213.186.120.196 | Ukraine |
| 789.012.345.678 | France |
| 012.345.678.901 | England |
+-----------------+---------+
Dit (ingekort) heb ik in mijn database staan.
De bedoeling is dat ik per land het aantal unieke bezoekers (unieke IP's) kan berekenen en dit gesorteerd volgens aantal unieke bezoekers.
Zoiets dus:
Belgium - 3
England - 1
France - 1
Ukraine - 1
Ik heb al enkele dagen verschillende pogingen gedaan, maar ik krijg het niet goed... Om unieke IP's te verkrijgen, gebruikte ik al DISTINCT. Maar dan weet ik nog niet hoe ik net bereken hoeveel het er zijn per land en hoe ik die dan sorteer.
Ook de GROUP BY functie heb ik al geprobeerd. Ook een simpele COUNT() werkt niet zoals ik het juist zou willen...
Kan iemand me uit de nood helpen? :)
Ohja, de reden dat het eerste IP er 2 keer staat, is omdat IP's er meermaals in komen te staan als ze een pagina tijdens verschillende uren bezoeken.. Elk uur kunnen IP's opnieuw in de database terechtkomen. Dit doe ik omdat ik ook unieke bezoekers wou per uur...
Gewijzigd op 10/08/2011 14:01:52 door Ruben Vanhoeyveld
PHP hulp
22/12/2024 11:19:09Jelmer -
10/08/2011 14:34:26Je kan COUNT en DISTINCT combineren, zoiets als:
Ruben Vanhoeyveld
10/08/2011 14:40:51Heel erg bedankt!
dit is het geworden :) Het werkt ^^ Thx!
Code (php)
1
2
3
4
2
3
4
SELECT COUNT( DISTINCT ip ) , country
FROM stats
GROUP BY country
ORDER BY COUNT( DISTINCT ip ) DESC
FROM stats
GROUP BY country
ORDER BY COUNT( DISTINCT ip ) DESC
dit is het geworden :) Het werkt ^^ Thx!