2016-03-01 84 views
0

我「AM在DB2執行下面的查詢使用Max和組通過在DB2

select SOURCE1 , PLANT1, max(BEGIN_TIMESTAMP) as dat , END_TIMESTAMP, 
     TIMESTAMPDIFF(2,CAST((END_TIMESTAMP - BEGIN_TIMESTAMP) AS CHAR(22))) 
from tab1 
group by dat 

但是我收到此錯誤:

2點01分01秒[SELECT - 0行(S) ,0.000秒] [錯誤代碼:-206,SQL狀態:42703] DB2 SQL錯誤:SQLCODE = -206,SQLSTATE = 42703,SQLERRMC = DAT,DRIVER = 3.50.152 ... 1個語句被執行,0行/列取時間:0.000/0.000秒[0成功,0警告,1錯誤]

任何想法請

+0

附註:(部分由於時間戳減法返回的相對距離,)'TIMESTAMPDIFF'返回** *估算*。尤其是,一旦您有一個月(至少1天)或幾年(5或6天),價值將會被關閉。 –

回答

0

您需要在GROUP BY中包含所有非聚合列。目前還不清楚你想要什麼,但至少應該解析和運行:

select SOURCE1, PLANT1, max(BEGIN_TIMESTAMP) as dat , END_TIMESTAMP, 
     TIMESTAMPDIFF(2, CAST((END_TIMESTAMP - BEGIN_TIMESTAMP) AS CHAR(22))) 
from tab1 
group by SOURCE1, PLANT1, END_TIMESTAMP; 
+0

它與您的建議謝謝。 但是它沒有打開正確的結果 –