在 DB2 中使用 MAX 和分组依据
using MAx and group by in DB2
我正在 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 行,0.000 秒] [错误代码:-206,SQL 状态:42703] DB2 SQL 错误: SQL代码=-206,SQL状态=42703,SQLERRMC=DAT,驱动程序=3.50.152
... 执行了 1 条语句,影响了 0 行,exec/fetch 时间:0.000/0.000 秒 [0 次成功,0 次警告,1 次错误]
任何想法请
您需要在 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;
我正在 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 行,0.000 秒] [错误代码:-206,SQL 状态:42703] DB2 SQL 错误: SQL代码=-206,SQL状态=42703,SQLERRMC=DAT,驱动程序=3.50.152 ... 执行了 1 条语句,影响了 0 行,exec/fetch 时间:0.000/0.000 秒 [0 次成功,0 次警告,1 次错误]
任何想法请
您需要在 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;