【问题标题】:only show the sum of all the id that have transacted in the past 12 months只显示过去 12 个月内所有交易过的 id 的总和
【发布时间】:2018-01-23 17:56:01
【问题描述】:
select
id
,id_name
, MAX(last_login_date)
, SUM(transaction_count)
, mAX(last_transaction_date)
from sales;

您好,我正在寻找仅包含过去 12 个月内销售的交易计数的结果。我该怎么办?

我有 ma​​xsum,因为有多个相同 id 的实例,所以它们不是唯一的。

我没有单独的交易日期。我只有一个最后交易日期字段

【问题讨论】:

    标签: sql oracle date


    【解决方案1】:

    你可以使用months_between函数直接拥有12个月:

    select id,id_name, MAX(last_login_date), SUM(transaction_count), mAX(last_transaction_date)
      from sales
     where months_between(trunc(sysdate),last_transaction_date) <= 12
     group by id, id_name;
    

    【讨论】:

      【解决方案2】:

      如果你需要选择一个月内的所有交易(包括当月),你可以使用这个结构:

      select id
           , id_name
           , Max(last_login_date)
           , Sum(transaction_count)
           , Max(last_transaction_date)
        from sales
       where last_transaction_date >= add_months(trunc(sysdate,'mm'),-11)
       group by id, id_name;
      

      【讨论】:

        猜你喜欢
        • 2013-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-11
        • 1970-01-01
        • 1970-01-01
        • 2010-10-11
        • 1970-01-01
        相关资源
        最近更新 更多