Query's beperken.
Ik log iedere login van de gebruikers op mijn website.
Datum, ip,..
Op mijn website is het wegens veiligheidsredenen en fraude verboden om meerdere accounts aan te maken. Natuurlijk kan ik dit met het IP te bekijken niet nauwkeurig traceren, maar deze functie helpt mij ook bij andere kleine nuttige dingetjes.
Maar wat wil ik nu doen?
Wel, ik ben bezig met een zoekmachine die het gezochte IP-adres door de database haalt en iedere gebruiker die op dat IP-adres ooit heeft ingelogd moet tevoorschijn komen.
Dit kan ik eenvoudig met een lusje doen, maar dan krijg ik vanzelfsprekend 1000 rijen van de logins van éénzelfde gebruiker en 1 rij misschien van een andere.
Bestaat er nu eigenlijk een manier om alle gebruikers die op een bepaald IP hebben ingelogd weer te geven, ZONDER herhaling?
Vb:
Jan heeft 3 keer op mijn pc ingelogd en Piet 1 keer (IP= 11.11.11)
Ik doorzoek de database op 11.11.11
Resultaat:
Jan (3*)
Piet (1*)
*= optioneel.
Dank.
GROUP BY in SQL gebruiken ;).
SELECT count(name) AS iets FROM log GROUP BY ip??
SELECT DISTINCT gebruikersnaam FROM logs WHERE ip = '11.11.11.11'
SELECT COUNT(ip) AS totaal, name FROM log WHERE ip = '1.1.1.1' GROUP BY ip
Een beetje raar. Veel mensen hebben een gedeelde internet verbinding. Om te stellen een ip is een persoon is in erg veel gevallen niet waar, en je zal ook legitieme accounts hier mee weren.
Arend schreef op 27.09.2008 13:19:
Een beetje raar. Veel mensen hebben een gedeelde internet verbinding. Om te stellen een ip is een persoon is in erg veel gevallen niet waar, en je zal ook legitieme accounts hier mee weren.
Ik had al in mijn topic aangegeven dat ik wist dat de resultaten die ik zou bekomen niet accuraat kunnen zijn. Ik heb ook nog andere middeltjes hiervoor.