Sql查询特定数据

时间:2011-08-17 08:49:18

标签: sql greatest-n-per-group

我有一个存档表。列是PK,Users和Logdatetime。当用户登录系统时,我正在向归档表写入用户和日期时间。用户可以在一天内登录多个。

Logdatetime中的数据类似于“2010-03-16 00:00:00.000”

我需要在一天内查询所有用户的首次登录时间,并获取日期时间的用户: user1'2010-03-16 03:21:00.000' user2'2010-03-16 04:11:00.000'

用户订单无关紧要。 我尝试了太多方法,但无法找到方法。我找到的唯一解决方案是逐个查询所有用户。但这需要时间。任何想法如何用一个查询或更有效的方式做到这一点?

PS:我正在使用MS SQL Server 2005

1 个答案:

答案 0 :(得分:1)

您的意思是您希望用户首次登录还是仅在特定日期的第一天登录?

此示例查询可能会引导您朝着正确的方向发展;

SELECT [User], MIN(LogDateTime) AS FirstLogin FROM [Archive Table] GROUP BY [User]