J'essaie de suivre les données utilisateur pour savoir quand les utilisateurs se connectent à une application. Ce que j'essaie de tirer de ma requête (ci-dessous), c'est tous les utilisateurs qui ne se sont pas connectés depuis 30 jours ou plus. Cependant, il attire des utilisateurs qui se sont connectés récemment. Aidez-moi?Requête SQL pour tous les enregistrements au moins 30 jours
SELECT UserNM AS [UserID], MAX(EventDT) AS [Last Log-in Date]
FROM dbo.USREventLog
WHERE ABS(DATEDIFF([day], EventDT, GETDATE())) > 30
AND (UserNM NOT LIKE 'user1') AND (UserNM NOT LIKE 'user2')
AND (UserNM NOT LIKE 'user3') AND (UserNM NOT LIKE 'user4')
GROUP BY UserNM
BTW, j'utilise leur dossier le plus récent de l'activité que leur dernier journal à ce jour et j'ai une petite liste des utilisateurs qui absolument être pas inclus dans les résultats.
Msg 147, niveau 15, état 1, ligne 3 Un agrégat peut ne pas apparaître dans la clause WHERE à moins qu'il soit dans une sous-requête contenue dans une clause HAVING ou une liste de sélection, et la colonne étant agrégé est un référence externe. –
J'ai mis à jour la réponse –