Hallo Kalle,
SELECT
per1.id
,per1.bezeichnung
,per1.textfarbe
,per1.wichtig
,per1.adr_unt
,per1.ort
,per1.vname
,per1.nname
,count(kon1.id) anz_kontakte
FROM ".$db[0]['personen']." AS per1LEFT JOIN ".$db[0]['kontakte']." AS kon1
ON kon1.aussteller_id = per1.id
AND (kon1.prio_1=1 OR kon1.prio_2=1)WHERE per1.owner_id=".$owner_id."
AND per1.adr_kz = ".$arr['aus_bes']."
".$and."
GROUP BY per1.bezeichnung, per1.ort, per1.adr_unt
sowas schluckt nur MySQL. Und das Ergebnis ist anders als das, das Du haben möchtest. Du könntest mit Subselects arbeiten.
Denke daran, dass Du beim Einsatz von Aggregatsfunktionen nach _allen_
Spalten gruppieren musst, auf die _keine_ Aggregatsfunktion angewandt wird.
Bei MySQL 5.x könntest Du eventuell auch mit einem View arbeiten, wobei Du
EXPLAIN befragen solltest, was performanter ist.
Freundliche Grüße
Vinzenz