SqlServer?oracle?mysql?
----------
假设你数据库日期格式是yyyyMM格式(日期控件返回也是yyyyMM格式的字符串),SQL参考如下
select '上年' [TYPE_],avg(数据) FROM TABLENAME WHERE 日期>='${FORMAT(YEARDELTA(DATEINYEAR(FORMAT(CONCATENATE(日期控件,01),"yyyy-MM-dd"),1),-1),"yyyyMM")}' AND 日期<='${FORMAT(YEARDELTA(DATEINYEAR(FORMAT(CONCATENATE(日期控件,01),"yyyy-MM-dd"),-1),-1),"yyyyMM")}'
union all
select '本年' [TYPE_],avg(数据) FROM TABLENAME WHERE 日期>='${FORMAT(FORMAT(DATEINYEAR(CONCATENATE(日期控件,01),"yyyy-MM-dd"),1),"yyyyMM")}' AND 日期<='${FORMAT(FORMAT(DATEINYEAR(CONCATENATE(日期控件,01),"yyyy-MM-dd"),-1),"yyyyMM")}'