yo,
da du ja so großen wert auf geschwindigkeit legst, und IMMER eine schnellere abfrage findest als andere user, frage ich dich, welchen performance gewinn der von dir eingesetzte join bringen soll.
performance ist sicherlich nur ein aspekt unter vielen, den man im auge behalten sollte.
der join ist hier völlig überflüssig und benötigt nur weitere zeit.
der join kostet sicherlich performance. aber deswegen muss er noch nicht überflüssig sein.
die einzige sinnvolle lösung hierfür lautet:
SELECT gruppe, COUNT(*) AS anzahl FROM tab2 GROUP BY gruppe
auf der ersten blick eine verlockende lösung. aber der JOIN hat schon seinen sinn oder vielmehr gesagt, der OUTER JOIN. geht man alleine von der zweiten tabelle aus, so kann es durchaus sein, dass eine gruppe zwar in der ersten tabelle vorhanden ist, aber nicht in der zweiten tabellen. dann würde diese gruppe mit 0 einträgen unter den tisch fallen. der OUTER JOIN stellt nun sicher, dass wirklich alle gruppen auch mit 0 einträgen aufgelistet werden.
ich stehe wohl unter besonderer beobachtung....
Ilja