私は SQL が初めてで、DB2 で作業しています。ID の過去 5 年間の x と y の合計を取得する必要があります。
以下は、これまでに達成したクエリですが、過去 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 ErrorCode: -514
編集:列には日付型が含まれており、列名は年ではありません。たとえば、some_year を持つように変更しました。