簡體   English   中英

Oracle SQL查詢每月匯總數據

[英]Oracle sql query sum data every month

假設我從oktober到12月這樣選擇了數據

在此處輸入圖片說明

我想獲得每個月購買客戶的總金額(okt-des)我想要的結果如下表所示

在此處輸入圖片說明

我已經知道如何獲得幾個月的最后一天
但是我沒有在SQL中進行想法查詢來獲得所需的結果

一種方法是-如果您只需要這三個月的數據-使用條件匯總:

select   name,
         sum(case when dt >= date '2017-10-01' and dt < date '2017-11-01'
                  then buying end) as oktober,
         sum(case when dt >= date '2017-11-01' and dt < date '2017-12-01'
                  then buying end) as november,
         sum(case when dt >= date '2017-12-01' and dt < date '2018-01-01'
                  then buying end) as desember
from     YOUR_TABLE
where    dt >= date '2017-10-01' and dt < date '2018-01-01'
group by name
;

注意date是一個Oracle關鍵字,不應用作列名。 我將其更改為dt YOUR_TABLE應該是您的實際表名。

嘗試這個

 DESC TABLE_NAME
        NAME    VARCHAR2(20 BYTE)
        BUYING  NUMBER
        BUYING_DATE DATE

    select * from
    (
    select name,buying,RTRIM(to_char(buying_Date,'Month')) dd
    from
    TABLE_NAME
    )
    PIVOT
    (
    SUM(buying)
    for dd IN ('October','November','December')
    );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM