Originariamente inviato da rigby76
Io vorrei contare i tab_x.id, ma non per raggruppamento, bensì la somma totale. Il group by mi serve per avere la condizione having, ma nella query che conta non lo vorrei.

In pratica, contare il numero totale di tab_x.id che soddisfino la condizione having (cioè almeno due elementi della tabella y collegati, nell'esempio citato).
Se raggruppi avrai i risultati raggruppati e' inevitabile.

O totalizzi sommando con il php oppure prova con una UNION.

codice:
SELECT tab_x.id, count(tab_x.id) AS nr_x
FROM tab_x 
LEFT JOIN tab_y ON tab_y.x_id=tab_x.id
GROUP BY tab_x.id
HAVING count(tab_y.id)>=2
UNION
SELECT 'Totale', count(*)
FROM tab_x 
LEFT JOIN tab_y ON tab_y.x_id=tab_x.id
HAVING count(tab_y.id)>=2
L'ultimo record avra' il Totale dei record presenti con la condizione che siano >= 2