我想使用一个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')
使用row_number()
和派生表将每笔recipient
收入限制在前三位,然后通过recipient
返回sum(amount)>=1024
select recipient as account_name
from (
select *
, row_number() over (
partition by recipient
order by amount desc
) as rn
from transfers
) as i
where rn < 4
group by recipient
having sum(amount)>=1024
返回:
+--------------+
| account_name |
+--------------+
| Johnson |
| Taylor |
+--------------+
rextester postgres演示:http
://rextester.com/PFR74297
对问题进行了编辑,从问题的第3修订版中删除了一些相关信息:已经尝试过什么。
我尝试
Select recipient as account_name from transfers group by recipient
having sum(amount)>=1024 and count(amount)<=3
它不能正常工作。
根据这些信息,我得出结论,OP希望从接收者的任何转移recipients
中获得sum(amount)>=1024
3个或更少的收款人-
不限于转移次数小于或等于3的那些接收者sum(amount)>=1024
。
问题内容: 不知道这是否可能。 但是,假设我在表中有一个像这样的列: 有些是个人尺寸,有些是表壳尺寸。 是否可以获得每一行的总重量?如果是这样,将如何做? 例如 问题答案: 通过@Tomalak添加到注释中,下面是一个示例脚本,您可以使用该脚本来填充重量表达转换表。
问题内容: 我有一个数字列表,我想获取一个数字在满足特定条件的列表中出现的次数。我可以使用列表推导(或函数中的列表推导),但我想知道是否有人有更短的方法。 还有更精简的版本吗? 问题答案: 您可以执行以下操作: 它最初可能看起来很奇怪添加到这种方式,但我不认为这是unpythonic; 毕竟, 是一个子类的在2.3以来所有版本:
我有一个数字列表,我想得到一个数字出现在符合特定标准的列表中的次数。我可以使用列表理解(或函数中的列表理解),但我想知道是否有人有更短的方法。 还有更精简的版本吗?
本文向大家介绍如何在MongoDB中汇总总和以获得总数?,包括了如何在MongoDB中汇总总和以获得总数?的使用技巧和注意事项,需要的朋友参考一下 要在MongoDB中汇总总和以获取总计数,可以使用$sum运算符。要了解上述概念,让我们使用文档创建一个集合- 在method的帮助下显示集合中的所有文档。查询如下- 以下是输出- 这是获取总数的查询。 情况1-查询如下- 以下是输出- 这是在Mong
问题内容: 遵循“只有一种明显的方法”,如何在Numpy中获得向量(一维数组)的大小? 上面的方法有效,但是我 不敢相信 自己必须指定这样一个琐碎的核心功能。 问题答案: 您需要的功能是。(我认为它应该作为数组的属性存在于基本numpy中-说-但很好)。 您还可以根据需要输入可选的n阶范数。假设您想要1范数: 等等。
问题内容: 这是Sun教程中的基本打印程序示例: 当显示打印对话框时(第二行),用户可以选择仅打印文档中的页面范围。我能以某种方式获得要打印的页数吗?例如,如果我有一个25页的文档,但是用户选择打印4-10的范围,那么将只打印7页。是否有某种方式可以访问该信息? 我需要它来显示进度条,该进度条随着每打印一页的增加而增加,但是为此,我需要知道将要打印的总页数。 那我怎么得到那个数字呢? 问题答案: