2011-03-23 91 views
0

我曾经在第一次登录到Syatem时获取用户的登录时间,用户正在做的所有活动都将存储在名为“活动”的单独列中”。我的问题是用户可以在特定的日子多次登录系统,但我只想检索第一次登录时间。 LogOn时间正在出现,当我写一个查询获取基于活动的时间如下。从数据库中获取日期时间变量的问题

   Time    User     Activity 
      '3/23/2011 9:55:00AM' kk     LogOn 
      '3/23/2011 5:30:00PM' kk     LogOn 

我写一个查询以检索这样

选择的startDateTime,用户,从AgentLog其中活性=“登录”活动这些值。所以,任何人都可以给我小的帮助,我如何才能检索给用户的第一次登录时间。我使用的Sql Server 2008,将有Somany天,用户登录,所以每天我需要获得登录时间

回答

1

获取每一天,他们在登录使用以下组的最早时间:

Select min(StartDateTime) 
from AgentLog 
where Activity='LogOn' and 
    User = 'Username' 
group by datepart(day, StartDateTime), 
    datepart(month, StartDateTime), 
    datepart(year, StartDateTime) 
+0

谢谢你@Steve Mayne,查询针对不同用户和不同日期制定。 – 2011-03-23 11:18:25

0

如果您不会将时间存储为字符串,但作为时间戳(以秒为单位),这将是很容易只需要选择数据:

Select StartDateTime,Activity from AgentLog where Activity='LogOn' AND time>timeofday ORDER by time LIMIT 1 

其中的TimeOfDay是当天的午夜时间戳

+1

我相信LIMIT 1只是MySQL .... – 2011-03-23 09:44:35

相关问题