0

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

当我尝试包含 Group BY ACCOUNT 时,出现以下错误:

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

任何帮助将不胜感激。

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

2 回答 2

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

您将不得不STATUS从 select 子句中省略该字段。

假设:LAST_UPDATE_TIMESTAMP是日期时间类型的字段。

于 2018-06-26T13:52:34.957 回答
0

我不知道你为什么使用 GROUP BY 子句。我想你正试图通过 ACCOUNT 的排序来显示值。如果是这样,用户按帐户订购

于 2018-06-26T13:52:56.917 回答