Kommt darauf an, was du mit "Tabellen ausgeben" meinst und was nach deinem "select count(*) ..." noch weiter kommt.
count() ist eine Aggregatsfunktion, und als solches bekommst du als Gesamt Resultset nur eine einzige Zeile mit der Anzahl der gruppierten Zeilen, wenn du kein "group by" zusätzlich verwendest. Wenn du kein "group by" verwendest, besteht die Gruppe also aus allen Zeilen die als Ergebnis der Query zurückgeliefert werden würden und die Aggregatsfunktion "count()" liefert dir dann eine einzige Zeile im Resultset mit der Anzahl aller Rows in der einen Gruppe.
Wenn du "group by" verwendest, dann werden die Gruppen gemäß der Gleichheit aller in "group by" angegeben Kriterien/Spalten gebildet und du bekommst so viele Zeilen...