如何从访问日志中选择DISTINCT(用户名)和MAX(时间戳) - postgresql

时间:2016-11-09 19:44:22

标签: sql postgresql max distinct

我有一个应用程序的日志文件,显示两列,用户名和时间戳。我试图运行PostgreSQL查询,只显示每个用户最后一次登录。

这是我到目前为止所提出的查询:

SELECT DISTINCT username, MAX(timestamp) FROM log
GROUP BY username, timestamp;

不幸的是,这仍然给了我多个用户名条目,每个条目都有不同的时间。有关如何只显示每个用户的上一个时间戳的任何提示吗?

我还是SQL新手,所以任何帮助都会受到赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

问题是SELECT username, MAX(timestamp) FROM log GROUP BY username;

log

但是,如果您想要DISTINCT ON记录中的所有信息,SELECT DISTINCT ON (username) l.* FROM log ORDER BY username, timestamp DESC; 是更好的选择:

SELECT DISTINCT

你使用Table5.field1 Like "3"让我怀疑这可能是你想要的。