Sie benötigen eine eindeutige Zeilenkennung in der ersten Tabelle – vielleicht befindet sich diese unter den anderen Spalten. Es kann eine oder mehrere Spalten sein. Dann können Sie count(distinct)
verwenden :
select tree_id,
count(distinct <unique row column>) filter (where count_if_true)
from t
group by tree_id;