【发布时间】:2018-05-05 09:49:42
【问题描述】:
我的表格有以下列:
Account_number | Transaction_Date | Transaction | Amount
有人能帮我做一个 SQL 查询吗,我可以在其中计算每个帐户从当前日期到过去 10 天的总交易金额。
【问题讨论】:
-
欢迎来到 SO。
SELECT account_number, SUM(Transaction_Amount) AS total_transaction_amount FROM table WHERE transaction_date > SYSDATE - 10 GROUP BY account_number根据 RDBMS,您可能需要更改WHERE部分和/或处理时间部分(如果适用) -
对不起,我打错了。计算从交易日期到过去 10 天的总交易金额。 (如果同一个账号在过去10天内进行过交易,则应显示该账号以及自交易日起过去10天的交易总额)
-
那么您必须在 GROUP BY 中添加另一列:
SELECT account_number, TRUNC(transaction_date), SUM(Transaction_Amount) AS total_transaction_amount FROM table WHERE transaction_date > SYSDATE - 10 GROUP BY account_number, TRUNC(transaction_date)警告。如果每天没有任何交易和帐户,您将不会得到0值的行。 -
谢谢。会试试这个。
-
您使用的是哪个DBMS? “SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标签
postgresql,oracle,db2,sql-server, ...
标签: sql