我想要一個sql,給出接收的數量> = 1024,傳輸數量爲< = 3。如何獲得數量大於一定數量的總和
例如,
結果是:
約翰遜列出,因爲它已經接收到1112美元以下三個傳輸自 約翰遜帳戶已列出:512美元+ 100美元+ 500美元,泰勒以1美元轉讓1024美元。威廉姆斯不在那裏,因爲他在四筆交易中獲得1200美元。
我嘗試
Select recipient as account_name from transfers group by recipient
having sum(amount)>=1024 and count(amount)<=3
它不能正常工作。 我正在使用PostgreSQL,SQLLites語法也很好。
附件爲表和行創建您的方便
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')
你的SQL意味着該人在有3周或更少的交易,而不是表示3或更少的數量超過了1024 –