Du behöver en distinkt radidentifierare i den första tabellen -- kanske är det bland de andra kolumnerna. Det kan vara en eller flera kolumner. Sedan kan du använda count(distinct)
:
select tree_id,
count(distinct <unique row column>) filter (where count_if_true)
from t
group by tree_id;