我曾经在第一次登录Syatem时获取用户的登录时间,用户正在进行的所有活动都将存储在名为“活动”的单独列中。我的问题是用户可以在特定日期多次登录系统,但我想只检索第一次登录时间。当我根据活动编写查询以获取Timings时,LogOn计时出现。如下所示。
Time User Activity
'3/23/2011 9:55:00AM' kk LogOn
'3/23/2011 5:30:00PM' kk LogOn
我编写了一个Query来检索这些值
从AgentLog中选择StartDateTime,User,Activity,其中Activity ='LogOn'。所以,任何人都可以给我一些小帮助,我怎样才能检索给定用户的第一个LogOn时间。我正在使用Sql Server 2008,会有Somany天,用户登录,所以每天我需要获得登录时间
答案 0 :(得分:1)
使用以下分组获取他们登录的每一天的最早时间:
Select min(StartDateTime)
from AgentLog
where Activity='LogOn' and
User = 'Username'
group by datepart(day, StartDateTime),
datepart(month, StartDateTime),
datepart(year, StartDateTime)
答案 1 :(得分:0)
如果您不将时间存储为字符串,而是存储时间戳(以秒为单位),则只需选择数据即可:
Select StartDateTime,Activity from AgentLog where Activity='LogOn' AND time>timeofday ORDER by time LIMIT 1
其中timeofday是当天午夜的时间戳