Erstmal danke für die Tips. Dass ich natürlich mit der Subquery das Problem der zusätzlichen Datenbankabfragen keineswegs löse ist mir nicht aufgefallen :)
Mir ist noch eingefallen, dass man natürlich vorweg eine zweite Abfrage abschicken könnte:
SELECT COUNT(cat)
FROM artikelliste
GROUP BY cat
Aber das meintest du ja oben auch?
Das ganze dann in einen Array und mit array_search (PHP) in der Schleife den Wert heraussuchen. Ich habe zwar keinerlei Erfahrungen ob array_search generell schneller ist als ne vernünftige SQL-Query, aber die Anfrage oben dauert nur 0,015 secs und array_search wird kaum 20 secs dauern, zumal es ja soviele Kats nicht gibt :)
lg
j0Shi