我是 SQL 新手,我正在研究 DB2,我需要获取过去 5 年的 x 和 y 的总和作为 id。
以下是到目前为止我已经完成的查询,但是,我只需要获得最近 5 年的数据,这可以让我获得所有年份的数据。我尝试为 sql 语句添加前 5 个,它似乎不起作用,它显示了一些错误。如何修改此查询以仅获取最近 5 年的数据?
select (sum(X) + sum(Y)) as tot,some_date
from table where fkid = 1
group by year order by year desc;
以下是我期望的数据格式。
合计 年份
552,074.78 2012-01-01 466,283.62 2011-01-01 640,813.37 2010-01-01 721,182.28 2009-01-01 719,676.05 2008-01-01
我得到的错误如下
错误:DB2 SQL 错误:SQLCODE=-104, SQLSTATE=42601, SQLERRMC=5;VALUE ( CONCAT || / - + FROM INTO * , \ AS . YEAR, DRIVER=3.58.81 SQLState: 42601 ErrorCode: -104 错误: DB2 SQL 错误:SQLCODE=-514,SQLSTATE=26501,SQLERRMC=SQL_CURLH200C1,DRIVER=3.58.81 SQLState:26501 错误代码:-514
编辑:该列中有日期类型,并且列名不是年份,例如,我已将其修改为 some_year。