我已经查看了 30 多种不同的方法来从连接表中获取最新日期。需要专业人士的帮助。
注意:
- 使用 SolarWinds 创建自定义 SQL 报告
- SQL 相当新
我正在尝试获取所有用户的列表,其中包含他们的用户名、主要组、名称和最近登录日期。此数据分布在两个表之间。
问题是我拥有的当前代码给了我一长串具有相同日期的重复用户。我只需要我的所有用户的列表以及他们的最新登录日期。
这是我想出的代码,它可以毫无问题地创建我的报告,但仍然显示重复,根本没有分组。我能错过什么?
SELECT
b.AccountName,
a.UserName,
b.PrimaryGroup,
b.MemberList,
a.LogonDateTime,
a.UserID
FROM UDT_UserLastActivity a
JOIN (
SELECT UserID, MAX(LogonDateTime) maxLogon
FROM UDT_UserLastActivity
GROUP BY UserID
) maxRecord
ON maxRecord.UserID = a.UserID
AND maxRecord.maxLogon = a.LogonDateTime
JOIN UDT_User b
ON b.UserID = a.UserID
ORDER BY a.LogonDateTime DESC
提前感谢任何愿意提供帮助的人!