SQL更改数据格式的最小值和最大值

Muh*_*eem 3 sql sql-server sql-server-2008

我有以这种格式出现的出勤数据:

EmployeeId |    Date    |   Time   |
--------------------------------------
        1  | 01/01/2015 | 14:01:35 |
        2  | 01/01/2015 | 13:00:00 |
        1  | 01/01/2015 | 17:35:37 |
        1  | 01/01/2015 | 18:01:35 |
        2  | 01/01/2015 | 19:14:12 |
        1  | 01/02/2015 | 14:21:42 |
        2  | 01/02/2015 | 15:12:03 |
        1  | 01/02/2015 | 15:42:20 |
Run Code Online (Sandbox Code Playgroud)

我需要以下格式的数据:

EmployeeId |    Date    | FirstTime | LastTime |
--------------------------------------------------
        1  | 01/01/2015 | 14:01:35  | 18:01:35 |
        2  | 01/01/2015 | 13:00:00  | 19:14:12 |
        1  | 01/02/2015 | 14:21:42  | 15:42:20 |
        2  | 01/02/2015 | 15:12:03  | 15:12:03 | 
Run Code Online (Sandbox Code Playgroud)

FirstTimeMin(Time)那个date/employee,lasttimemax(time)为了那个date/employee.为了简化,我删除了自动增量PK.

我无法理解如何做到这一点.我在想Pivot可能是要走的路,但我不能用它来达到理想的效果.你可以帮我解决一下这个问题吗?

Vam*_*ala 7

select employeeid, date, min(time) as firsttime, max(time) as lasttime
from tablename
group by employeeid, date
Run Code Online (Sandbox Code Playgroud)

您可以按employeeid进行分组,并选择给定日期的最短和最长时间.