表结构如下:
CREATE TABLE #tb1(部门 nvarchar(10), 姓名 nvarchar(10), 打卡时间 datetime,打卡次数 int)
INSERT INTO #tb1
SELECT 'A','jim','2012-01-01 07:17:39',1 UNION ALLSELECT 'A','jim','2012-01-01 07:20:39',2 UNION ALLSELECT 'A','jim','2012-01-01 07:55:39',1 UNION ALLSELECT 'A','tom','2012-01-01 07:59:39',1 UNION ALLSELECT 'A','tom','2012-01-01 08:15:39',1 UNION ALLSELECT 'A','jim','2012-01-01 08:20:39',2 UNION ALLSELECT 'A','jim','2012-01-01 09:55:39',1想得到结果:
部门 姓名 开始时间 结束时间 打卡次数
A jim 2012-01-01 07:17:39 2012-01-01 07:55:39 4
A tom 2012-01-01 07:59:39 2012-01-01 08:15:39 2
A jim 2012-01-01 08:20:39 2012-01-01 09:55:39 3
CREATE TABLE #tb1(部门 nvarchar(10), 姓名 nvarchar(10), 打卡时间 datetime,打卡次数 int)
INSERT INTO #tb1
SELECT 'A','jim','2012-01-01 07:17:39',1 UNION ALLSELECT 'A','jim','2012-01-01 07:20:39',2 UNION ALLSELECT 'A','jim','2012-01-01 07:55:39',1 UNION ALLSELECT 'A','tom','2012-01-01 07:59:39',1 UNION ALLSELECT 'A','tom','2012-01-01 08:15:39',1 UNION ALLSELECT 'A','jim','2012-01-01 08:20:39',2 UNION ALLSELECT 'A','jim','2012-01-01 09:55:39',1想得到结果:
部门 姓名 开始时间 结束时间 打卡次数
A jim 2012-01-01 07:17:39 2012-01-01 07:55:39 4
A tom 2012-01-01 07:59:39 2012-01-01 08:15:39 2
A jim 2012-01-01 08:20:39 2012-01-01 09:55:39 3
按NS分组取最大、最小时间即可