SQL 服务器:为每个用户创建具有最大和最小日期时间的视图
SQL Server : create view with max and min datetime for each user
我在 SQL 服务器中有 table 个事件 Username
和 DateTime
。
我想创建一个视图,显示每个用户当天的第一个和最后一个 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;
我在 SQL 服务器中有 table 个事件 Username
和 DateTime
。
我想创建一个视图,显示每个用户当天的第一个和最后一个 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;