上一年的“本年至今”和部分本年的“本年至今”计算SQL Server

时间:2019-09-24 07:51:25

标签: sql sql-server

我有一个收入表,其中包含去年和本年度的数据。我需要计算去年的年初至今和今年的年初至今, BUT ,我只需要考虑去年PER分支中的分钟(日期)中的数据来计算本年度的年初至今。

例如:Branch KTM的数据来自2018年2月25日,而不是1月1日。 现在我想从2019年的同一天到今天获取当年的年初至今。

我能够获得去年和今年的整个年初至今,以及去年每个分支机构的最小日期/周数,但无法计算出当年的部分年初至今。

这是一个指向mydata和sql的驱动器链接:https://1drv.ms/u/s!Ave_-9o8DQVEgRS7FaJmm48UNsWz?e=lRfOJF

enter image description here 我的代码段

我需要有关SQL查询的帮助。

1 个答案:

答案 0 :(得分:0)

这将返回去年日期的同一天到今天的日期之间的天数:

select current_date - (date'2018-02-25' + interval '1' year); -- PostgreSQL
select datediff(current_date, (date'2018-02-25' + interval '1' year)); -- MySQL

备用版本:

select extract(doy from current_date) - extract(doy from date'2018-02-25'); -- PostgreSQL

doy代表一年中的一天。在回答时(2019-09-24),所有查询都返回211

要对该日期范围内的值求和,请使用BETWEEN

SELECT sum(revenue) 
FROM your_table 
WHERE date BETWEEN date'2018-02-25' + interval '1' year AND current_date