Wenn sie annehmen, dass Sie zählen mögen - für jede Person mit einer bestimmten ID - die Anzahl der Zahlungsvorgänge, an denen diese Person beteiligt war, dann sollte eine Gewerkschaft alle helfen:
select person_id, count(*)
from ((select payer_id as person_id from payments) union all (select recipient_id as person_id from payments)) paymentsOfPerson
group by person_id
order by person_id DESC
Wenn Zahlungen auch Datensätze enthalten können, wo payer_id = recipient_id (Übertragung von einem Konto auf ein anderes Konto von derselben Person), dann muss man darauf achten, dass solche Übertragungen nicht zweimal gezählt:
select person_id, count(*)
from ((select payer_id as person_id from payments where payer_id != recepient_id) union all (select recipient_id as person_id from payments)) paymentsOfPerson
group by person_id
order by person_id DESC
Bitte erläutern Ihre Anforderung in einfachem Englisch. 'count (entweder payer_id oder recipient_id)' ist sinnlose Syntax. – shmosel
Sie erhalten eine feste ID und möchten zählen, in wie vielen Zeilen in Zahlungen es erscheint? – maraca