SQL-每个用户的最新时间戳

时间:2018-06-26 13:46:44

标签: sql greatest-n-per-group netezza aginity

我有一个表,其中包含用户帐户,帐户的当前状态以及对该状态所做的任何更改的时间戳。当我为2个特定帐户运行以下命令时,它会带回每个日期和时间发生了更改,但我只需要每个帐户的最新日期和时间。

当我尝试添加“按帐户分组”时,出现以下错误:

“必须分组或在聚合函数中使用”

任何帮助将不胜感激。

select ACCOUNT, Status,LAST_UPDATE_TIMESTAMP
from ACCOUNT_ROLE 
where ACCOUNT in (123456789,987654321);

2 个答案:

答案 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来显示值。如果是这样的话,用户通过帐户订购