使用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