2012-10-23 10 views
5

Ich habe eine Tabelle namens Besucher, die IP-und Länderspalten enthält.MYSQL Abfrage für eine Tabelle

Jetzt möchte ich die Tabelle so abfragen, dass ich eindeutige Länder aus der Tabelle bekomme und die Anzahl der Zeilen dieses Landes anzeigen lasse.

Tabelle:

IP   Country 
1.1.1.1. xyz 
1.2.3.4  xyz 
2.2.3.6  abc 
3.61.3.69 axy 

Jetzt möchte ich das Ergebnis als:

Country  No_Visitors 
xyz    2 
abc    1 
axy    1 

Ich weiß, wie es geht um 2 Abfragen verwenden, erhalten die einzigartige Land aus und dann wieder die Tabelle abfragen für der Name des Landes. Aber wie kann ich das mit einer einzigen Abfrage machen?

Antwort

6

Verwenden Sie AGGREGATE FUNCTIONCOUNT(), um die Gesamtzahl der Instanzen für jedes Land zu erhalten.

SELECT Country, COUNT(IP) 
FROM tableName 
GROUP BY Country 

SQLFiddle Demo

+0

Oh .. Vielen Dank .. funktioniert super :) – user1767671

+0

sind Sie willkommen! Vergessen Sie nicht, den obigen Link zu lesen: D –

+1

Sure John ...... – user1767671

Verwandte Themen