【问题标题】:How can I do a yearly report grouped by month?我怎样才能做按月分组的年度报告?
【发布时间】:2011-08-29 10:01:40
【问题描述】:

我正在使用以下查询按月列出交易数量。有谁知道我也可以按年列出。这意味着该查询将返回除当前月份之外的全年我的所有交易。

如果今天是 2011 年 8 月 29 日,我需要一份按月份分组的年度报告,直到 7 月份(因为 8 月份尚未完成)

select to_char(date,'MONTH YYYY'), sum(number_of_transactions)
from header
group by date
order by date

【问题讨论】:

    标签: sql oracle group-by oracle11g


    【解决方案1】:
    select to_char(trunc(date,'yyyy'),'YYYY') as year, sum(number_of_transactions)
    from header
    where date < trunc(sysdate, 'mm')
    group by trunc(date,'yyyy')
    order by year
    

    【讨论】:

    • @schurik 您发送给我的查询有效,但它没有返回任何内容。只是空字段。你知道为什么吗?谢谢
    • @mikespiteri 抱歉,出现了一个小错误。WHERE 条件不正确。其中 date sysdate, 'mm') 是正确的。我已经编辑了我的答案。
    【解决方案2】:

    这是你需要的吗?

    SELECT TO_CHAR(date, 'YYYY'), SUM(number_of_transactions)
    FROM header
    GROUP BY TO_CHAR(date, 'YYYY')
    

    【讨论】:

    • 不,它与 schurik 所做的相似
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2023-03-15
    • 1970-01-01
    • 2022-08-19
    • 2018-02-08
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多