It's really nothing special.
"GROUP BY country" tells SQL to run your query once for each unique value of "country" that appears in the table.
Count(*) simply counts how many rows are returned for the current query.
So, in Pepe's example, using the COUNT(*) with the GROUP BY
you can imagine SQL runs queries like:
SELECT country,count() FROM table WHERE country="holland";
SELECT country,count() FROM table WHERE country="spain";
SELECT country,count(*) FROM table WHERE country="germany";
etc for each value of country that is in the table.
Note: "GROUP BY country" does not give the same results as WHERE country="<your value here>". GROUP BY returns informations about the GROUP of rows, not just the rows.