我有一个表,其中包含用户帐户,帐户的当前状态以及对该状态所做的任何更改的时间戳。当我为2个特定帐户运行以下命令时,它会带回每个日期和时间发生了更改,但我只需要每个帐户的最新日期和时间。
当我尝试添加“按帐户分组”时,出现以下错误:
“必须分组或在聚合函数中使用”
任何帮助将不胜感激。
select ACCOUNT, Status,LAST_UPDATE_TIMESTAMP
from ACCOUNT_ROLE
where ACCOUNT in (123456789,987654321);
答案 0 :(得分:2)
如果要按ACCOUNT
分组并获得每个帐户的最大最近更新时间戳,可以尝试以下SQL:
select ACCOUNT, MAX(LAST_UPDATE_TIMESTAMP)
from ACCOUNT_ROLE
where ACCOUNT in (123456789,987654321) -- this is an optional filter clause.
group by ACCOUNT
您将不得不在select子句中忽略STATUS
字段。
假设:LAST_UPDATE_TIMESTAMP
是日期时间类型字段。
答案 1 :(得分:0)
我不知道您为什么使用GROUP BY子句。我认为您正在尝试通过订购ACCOUNT来显示值。如果是这样的话,用户通过帐户订购