2014-01-23 6 views
0

Попытка выяснить агрегирование для таблицы, указанной ниже. Для каждого изменения в Dept я хочу суммировать заработную плату для этого столбца идентификатора. Я также хочу объединить время начала и окончания в одну строку на идентификатор, отдел.Агрегация SQL Server 2008

Что я получаю:

ID# Dept StartTime  EndTime Wages 
545 A  12:00  1:30  $50 
545 A  1:30   3:00  $55 
657 A  12:00  3:00  $100 
657 B  3:00   6:00  $100 
657 B  6:00   7:00  $50 

То, что я хочу выглядеть следующим образом:

ID# Dept StartTime  EndTime Wages 
545 A  12:00  3:00  $105 
657 A  12:00  3:00  $100 
657 B  3:00   7:00  $150 
+1

Что делать, если время не соответствует точно так же, как в ваших данных образца? – Lamak

ответ

0

Что вам нужно что-то вроде этого (предполагая, что ваша заработная плата сохраняются как int)

SELECT ID, Dept, 
    MIN(StartTime) [StartTime], 
    MAX(EndTime) [EndTime], 
    SUM(Wages) [Wages] 
FROM Table 
GROUP BY ID, Dept