以下查询返回任何存在的用户where transaction_date> ' 3/1/2017年'并且总和(AMOUNT)>从所有日期3000。
我想只返回有总和(AMOUNT)>的用户3000后3/1/2017。换句话说,用户需要在2017年3月1日之后仅从交易中获得至少3000美元的金额(金额)。
SELECT User
FROM Source
Where transaction_date > '3/1/2017'
GROUP BY User
HAVING sum(AMOUNT) > 3000
答案 0 :(得分:1)
{<1}}在聚合之前处理。因此,您的查询仅考虑该日期之后的交易。
我强烈建议您使用ISO标准日期格式并将查询编写为:
WHERE
如果您对结果有疑问,可能是由于日期格式化。
答案 1 :(得分:1)
使用to_date函数格式化日期和=&gt;至少你需要的金额。
SELECT User
FROM Source
Where transaction_date > to_date( '3/1/2017','dd/mm/rrrr')
GROUP BY User
HAVING sum(AMOUNT) => 3000
答案 2 :(得分:0)
USE&gt; =在Gordon的代码中
SUM(AMOUNT) >= 3000
答案 3 :(得分:0)
试试这个:
SELECT用户 来源 WHERE日期(transaction_date)&gt; “2017年3月1日” GROUP BY用户 拥有和(AMOUNT)&gt; 3000;
如果问题仍然存在,请在表格中分享您的数据格式。