[英]Oracle calculate YTD ,PYTD, QTD , PQTD , MTD, PMTD
我的查詢是
select
ENTRIES,
SUM( CASE WHEN to_char(to_date(record_date, 'yyyy/mm/dd'),'YYYY') =2020
THEN ENTRIES END ) AS "Curr Yr ENTRIES" ,
SUM( CASE WHEN to_char(to_date(record_date, 'yyyy/mm/dd'),'YYYY') =2019
THEN ENTRIES END ) AS "PREV Yr ENTRIES" ,
SUM( CASE WHEN to_char(to_date(record_date, 'yyyy/mm/dd'),'MM') =11
THEN ENTRIES END ) AS "Current Month ENTRIES" ,
SUM( CASE WHEN to_char(to_date(record_date, 'yyyy/mm/dd'),'MM') =10
THEN ENTRIES END ) AS "PREV Month ENTRIES" ,
SUM( CASE WHEN to_char(to_date(record_date, 'yyyy/mm/dd'),'MM') =09
THEN ENTRIES END ) AS "PREV TO PREV Month ENTRIES" ,
SUM( CASE WHEN to_char(to_date(record_date,'yyyy/mm/dd'), 'Q')=4
THEN ENTRIES END ) AS "Curr Qtr ENTRIES" ,
SUM( CASE WHEN to_char(to_date(record_date,'yyyy/mm/dd'), 'Q')=3
THEN ENTRIES END ) AS "PREV Qtr ENTRIES"
from market
group by ENTRIES
我是 oracle 的新手,在我的查詢中,我對年、月和季度的值進行了硬編碼。 但我希望我的查詢在不提供任何值的情況下工作,以便它自動選擇值讓我知道如何完成。
您可以使用:
SELECT ENTRIES,
SUM(
CASE
WHEN record_date >= TRUNC( SYSDATE, 'YYYY' )
AND record_date < ADD_MONTHS( TRUNC( SYSDATE, 'YYYY' ), 12 )
THEN ENTRIES
END
) AS "Curr Yr ENTRIES",
SUM(
CASE
WHEN record_date >= ADD_MONTHS( TRUNC( SYSDATE, 'YYYY' ), -12 )
AND record_date < TRUNC( SYSDATE, 'YYYY' )
THEN ENTRIES
END
) AS "Prev Yr ENTRIES",
SUM(
CASE
WHEN record_date >= TRUNC( SYSDATE, 'MM' )
AND record_date < ADD_MONTHS( TRUNC( SYSDATE, 'MM' ), 1 )
THEN ENTRIES
END
) AS "Curr Month ENTRIES",
SUM(
CASE
WHEN record_date >= ADD_MONTHS( TRUNC( SYSDATE, 'MM' ), -1 )
AND record_date < TRUNC( SYSDATE, 'MM' )
THEN ENTRIES
END
) AS "Prev Month ENTRIES",
SUM(
CASE
WHEN record_date >= TRUNC( SYSDATE, 'Q' )
AND record_date < ADD_MONTHS( TRUNC( SYSDATE, 'Q' ), 3 )
THEN ENTRIES
END
) AS "Curr Qtr ENTRIES",
SUM(
CASE
WHEN record_date >= ADD_MONTHS( TRUNC( SYSDATE, 'Q' ), -3 )
AND record_date < TRUNC( SYSDATE, 'Q' )
THEN ENTRIES
END
) AS "Prev Qtr ENTRIES"
from market
group by ENTRIES
(雖然我不相信你想要初始ENTRIES,
在SELECT
子句或最后的GROUP BY
,相反,可以在整個時期內SUM
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.