Ich habe eine Tabelle in denen mehrfach (IP Adressen, Hostname, timestamp) gelistet sind. Wie kann ich eine Abfrage gestallten in denen mir die IP Adressen und deren Häufigkeit in der Datenbank aufgelistet sind. Sprich: IP 10.0.1.1 = 100x in DB IP 10.0.1.20 = 200x in DB Hat da jemand einen Performanten Tipp für mich? Muss ich da für jeden IP Eintrag eine sparate Abfrage machen? also erst die einzelen IP Adressen abfragen und dann in einer separaten Abfrage deren Anzahl?
Ahh, hab es gefunden - COUNT with GROUP war das Schlagwort:
1 | SELECT ip, COUNT(*) |
2 | FROM hosts |
3 | GROUP BY ip |
Klein und Fein, genauso wie ich das brauche :-)
1 | SELECT [IP Adressen], count(*) FROM Tabelle |
2 | GROUP BY [IP Adressen] |
Spaltennamen und Tabellenname musst du natürlich richtig einsetzen. Und je nach Datenbanksystem kann die Syntax auch abweichen. Anschließendes Sortieren mit ORDER BY geht natürlich auch noch.
Du solltest dir die GROUP BY Klausel und Aggregatfunktionen (in deinem Fall COUNT()) ansehen. Das ist, was du suchst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.