【发布时间】:2017-03-05 13:37:35
【问题描述】:
我想要一个 sql 给接收者的金额 >= 1024,转账次数
例如,
结果是:
约翰逊的上市时间 列出 Johnson 账户是因为它在以下三笔转账中收到了 1112 美元:512 美元 + 100 美元 + 500 美元,泰勒有一笔 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
标签: sql postgresql sqlite