select user
from t
group by user
having max(logindate) < current_date - interval '30' day
user är inget bra kolumnnamn då det är ett reserverat ord i SQL.
4 svar · 292 visningar · startad av hawkman
Hej,
Har en tabell med fälten Logid|User|LoginDate. I den sparas inloggningar till mitt system, dvs en användare finns på många rader.
Jag vill kunna ställa en fråga där jag ser vilka användare som inte har varit inloggade på t ex 30 dagar.
Kan man göra det i en fråga eller? :q
Eller måste man först ta reda på respektive användares senaste inloggningsdatum och sedan kolla om det har gått mer än 30 dagar...
Hälsningar
Håkan
select user
from t
group by user
having max(logindate) < current_date - interval '30' day
user är inget bra kolumnnamn då det är ett reserverat ord i SQL.
Hej,
Tack för snabbt svar...! Namnen var bara exempel. Jag glömde skriva att jag kör MSAccess... :r
Kan detta vara rätt i MSAcces:
select LTAUser
from LTAUserLogger
group by LTAUser
having DATEDIFF('d', max(LoginDate), now()) < 30
Verkar returnera ett rimligt resultat...
Hur gör jag om jag vill ha med LoginDate också?
select LTAUser,LoginDate
...
/Håkan
select LTAUser,max(loginDate) as lastLogin
from LTAUserLogger
group by LTAUser
having DATEDIFF('d', max(LoginDate), now()) < 30
Yepp! Tack!