使用SQL Server 2008 R2我试图将每天存储在表中的用户的最后登录时间放在一起。从MAX记录中计数DATEDIFF
下面的查询就会将该信息为每个用户:
SELECT
[Login_name],
MAX([last_login_time]) as Last_login_date,
[server_instance]
FROM
[dbo].[User_Login_Audit]
WHERE
Login_name NOT IN ('NT AUTHORITY\SYSTEM', 'sa','')
GROUP BY
Login_name, server_instance
结果如下:
User_name | 2016-07-28 | Server/Instance
我要的是能够增加GETDATE()
之间的天数最大记录日期并将其添加为最后一列..
我已经尝试使用以下代码,但它会为每天记录的值返回f或该用户。任何帮助将不胜感激,因为我确信我错过了一些明显的东西。
SELECT
[Login_name],
MAX([last_login_time]) AS Last_login_date,
[server_instance],
DATEDIFF(day, getdate(), last_login_time) AS Days
FROM
[dbo].[User_Login_Audit]
WHERE
Login_name NOT IN ('NT AUTHORITY\SYSTEM', 'sa','')
GROUP BY
Login_name, server_instance, last_login_time
你需要从集团的部分 – Mat
只要我做,我得到的错误删除_last_login_time_:消息8120,级别16,状态1,第4行 列'dbo.User_Login_Audit.last_login_time'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。 – bwilliamson