最近6个月中每个月的SQL计数条目

时间:2019-03-22 15:39:55

标签: sql oracle oracle-apex

我在计算过去6个月中一个月内创建的条目时遇到问题。
该表如下所示:

 A       B            C               D
Year    Month    Startingdate     Identifier   
 ----------------------------------------- 
2019     3        2019-03-12      OAM_1903121  
2019     2        2019-03-21      OAM_1902211  

结果应如下所示:

 A       B              C               
Year    Month    Amount of orders  
--------------------------------- 
2019     3             26  
2019     2             34  

这是我到目前为止的结果,但是并不能为我提供正确的结果:

SELECT year, month, COUNT(Startingdate) as Amount  
FROM table  
WHERE Startingdate > ((TRUNC(add_months(sysdate,-3) , 'MM'))-1)  
GROUP BY year, month

3 个答案:

答案 0 :(得分:0)

我还没有测试过,但是它应该可以工作:

select year, month, count(Stringdate) as Amount_of_order
from table
where Stringdate between add_months(sysdate, -6) and sysdate
group by year, month;

让我知道。

答案 1 :(得分:0)

尝试:

选择YEAR(开始日期)AS [年],MONTH(开始日期)AS [月],COUNT(*)AS金额
从表
开始日期> DATEADD(MONTH,-6,GETDATE()) GROUP BY YEAR(开始日期),MONTH(开始日期) 按YEAR(开始日期),MONTH(开始日期)DESC排序

答案 2 :(得分:0)

我认为您的问题是过滤。如果是这样,则应该处理最近六个月的时间:

SELECT year, month, COUNT(*) as num_orders  
FROM table  
WHERE Startingdate >= TRUNC(add_months(sysdate, -6) , 'MM')  
GROUP BY year, month;