带Where子句的SQL GroupBy
下面的查询返回存在于交易日期>2017年3月1日且所有日期的总和(金额)>3000的任何用户 我只想返回2017年3月1日之后总和(金额)超过3000的用户。换句话说,用户需要在2017年3月1日之后的交易中获得至少3000美元的金额带Where子句的SQL GroupBy,sql,postgresql,Sql,Postgresql,下面的查询返回存在于交易日期>2017年3月1日且所有日期的总和(金额)>3000的任何用户 我只想返回2017年3月1日之后总和(金额)超过3000的用户。换句话说,用户需要在2017年3月1日之后的交易中获得至少3000美元的金额 SELECT User FROM Source Where transaction_date > '3/1/2017' GROUP BY User HAVING sum(AMOUNT) > 3000 其中在聚合之前处理。因此
SELECT User
FROM Source
Where transaction_date > '3/1/2017'
GROUP BY User
HAVING sum(AMOUNT) > 3000
其中在聚合之前处理。因此,您的查询只考虑该日期之后的事务 我强烈建议您使用ISO标准日期格式,并将查询编写为:
SELECT User
FROM Source
WHERE transaction_date > '2017-03-01'
GROUP BY User
HAVING SUM(AMOUNT) > 3000;
如果您对结果有问题,可能是由于日期格式。在聚合之前处理
的。因此,您的查询只考虑该日期之后的事务
我强烈建议您使用ISO标准日期格式,并将查询编写为:
SELECT User
FROM Source
WHERE transaction_date > '2017-03-01'
GROUP BY User
HAVING SUM(AMOUNT) > 3000;
如果结果有问题,可能是由于日期格式问题。如果要包含3000,请在Gordon的代码中使用>=
SUM(AMOUNT) >= 3000
如果要包含3000,请在Gordon的代码中使用>=
SUM(AMOUNT) >= 3000
使用to_date函数设置日期格式,并使用=>至少设置所需金额
SELECT User
FROM Source
Where transaction_date > to_date( '3/1/2017','dd/mm/rrrr')
GROUP BY User
HAVING sum(AMOUNT) => 3000
使用to_date函数设置日期格式,并使用=>至少设置所需金额
SELECT User
FROM Source
Where transaction_date > to_date( '3/1/2017','dd/mm/rrrr')
GROUP BY User
HAVING sum(AMOUNT) => 3000
试试这个:
选择用户
来源
其中日期(交易日)>“2017-03-01”
按用户分组
总额(金额)>3000
如果问题仍然存在,请在表中共享您的数据格式。尝试以下操作:
选择用户
来源
其中日期(交易日)>“2017-03-01”
按用户分组
总额(金额)>3000
如果问题仍然存在,请在表中共享您的数据格式。否,您的查询执行的是您打算执行的操作,而不是您描述的操作。当我查看具有上述查询的所有用户的总和(金额)时,我看到的是有。您应该提供示例数据和所需结果。不,您的查询做的是您打算做的,而不是您描述它做的。当我查看具有上述查询的所有用户的总和(金额)时,我看到有。您应该提供示例数据和所需结果。