我在计算过去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
答案 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;