SQL 服务器:为每个用户创建具有最大和最小日期时间的视图

SQL Server : create view with max and min datetime for each user

我在 SQL 服务器中有 table 个事件 UsernameDateTime

我想创建一个视图,显示每个用户当天的第一个和最后一个 EventDateTime。我该怎么做?

Username | EventDateTime
John     | 2015-03-27 15:19
Ana      | 2015-03-27 15:10
John     | 2015-03-27 15:18
Ana      | 2015-03-27 15:36
Ana      | 2015-03-27 15:45
John     | 2015-03-27 15:06

基本上我想要 return 这个数据的视图:

Username | FirstEventDateTime | LastEventDateTime
John     | 2015-03-27 15:06   | 2015-03-27 15:19
Ana      | 2015-03-27 15:10   | 2015-03-27 15:45

您需要按用户和日期分组:

SELECT  Username,
        MIN(EventDateTime) FirstEventDateTime,
        MAX(EventDateTime) LastEventDateTime
FROM dbo.YourTable
GROUP BY Username,
         CONVERT(VARCHAR(8),EventDateTime,112)
ORDER BY Username;