【问题标题】:Calculate Transaction Amount sum for all account numbers from the current date to past 10 days计算从当前日期到过去 10 天的所有帐号的交易金额总和
【发布时间】: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


【解决方案1】:
SELECT account_number,
       SUM(Transaction_Amount)
FROM table
WHERE transaction_date between DATEADD(Day,-10,getdate()) and getdate()
GROUP BY account_number

【讨论】:

    【解决方案2】:

    这里是 SQL-Server 解决方案:

    select sum([Transaction]) from MY_TABLE
    where Transaction_Date > DATEADD(Day,-10,getdate())
    

    MySql

    select sum(Transaction) from MY_TABLE
    where Transaction_Date > date_add(now(), interval -10 day)
    

    甲骨文

    select sum(Transaction) from MY_TABLE
    where Transaction_Date > SYSDATE - interval '-10' day
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      相关资源
      最近更新 更多