Ich möchte eine SQL haben, die Empfänger gibt, die von Betrag> = 1024 erhalten, mit der Nummer der Übertragung < = 3.Wie bekomme ich die Summe mit der Zählung größer als ein bestimmter Betrag?
zB
Das Ergebnis ist:
Johnson aufgeführt ist seit Johnson Konto aufgeführt wird, weil es 1112 USD in den folgenden drei Transfers erhalten hat: 512 USD + 100 USD + 500 USD, Taylor ist mit 1 Transfer von 1024 USD. Williams ist nicht da, da er 1200 in vier Transaktionen erhält.
Ich versuche
Select recipient as account_name from transfers group by recipient
having sum(amount)>=1024 and count(amount)<=3
Es funktioniert nicht richtig. Ich benutze PostgreSQL, SQLLites Syntax ist auch in Ordnung.
Befestigt ist die Tabelle und die Zeilenerzeugung für Ihre bequeme
create table transfers (
sender varchar(1000) not null,
recipient varchar(1000) not null,
date date not null,
amount integer not null
);
insert into transfers values('Smith','Taylor',convert(date,'2002-09-27'),'1024')
insert into transfers values('Smith','Johnson',convert(date,'2005-06-26'),'512')
insert into transfers values('Williams','Johnson',convert(date,'2010-12-17'),'100')
insert into transfers values('Williams','Johnson',convert(date,'2004-03-22'),'10')
insert into transfers values('Brown','Johnson',convert(date,'2013-03-20'),'500')
insert into transfers values('Johnson','Williams',convert(date,'2007-06-02'),'400')
insert into transfers values('Johnson','Williams',convert(date,'2005-06-26'),'400')
insert into transfers values('Johnson','Williams',convert(date,'2005-06-26'),'200')
Ihr SQL bedeutet, dass die Person 3 oder weniger Transaktionen gehabt hat, nicht dass die Anzahl von 3 oder weniger als 1024 ist –