[MSSQL] Rekordy, gdzie pole ma minimalną wartość

0

Cześć, mam 6 pól:

ID
employeeID
StartDate
eventDate
back
diff

Teraz chcę wybrać IDki tych rekordów, które mają takie same pola employeeID, startDate i eventID, ale najmniejszą wartość diff.

Przykład:

employeeID   |   startDate    |   eventDate  |   back    |   diff
----------------------------------------------------------------------
1            |   2010-01-01   |    10:00:00  |  10:10:00   |  600
1            |   2010-01-01   |    10:00:00  |  10:12:00   |  720
1            |   2010-01-01   |    10:00:00  |  10:15:00   |  900
2            |   2010-01-01   |    12:00:00  |  12:01:00   |  60
2            |   2010-01-01   |    12:00:00  |  12:02:00   |  120

Chcę uzyskać z tego ID rekordów:
1 | 2010-01-01 | 10:00:00 | 10:10:00 | 600
2 | 2010-01-01 |12:00:00 | 12:01:00 | 60

Męczę się i męczę, próbuje coś z grupowaniem, ale nic mi nie idzie. Jakieś sugestie?

0

select employeeID, startDate, eventID, min(diff) from dupa group by employeeID, startDate, eventID

0
SELECT t.* FROM tabela t JOIN (SELECT employeeID, startDate, eventID, Min(diff) diff FROM tabela GROUP BY employeeID, startDate, eventID) t1 ON t.employeeID=t1.employeeID and t.startDate=t1.startDate, t.eventID=t1.eventID and t.diff=t1.diff

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0