Обновление: одноразовое изменение, чтобы показать, что время доставки не всегда в порядке.sql max/min query and data transform
вот мой вход
create table test
(
shipment_id int,
stop_seq tinyint,
time datetime
)
insert into test values (1,1,'2009-8-10 8:00:00')
insert into test values (1,2,'2009-8-10 9:00:00')
insert into test values (1,3,'2009-8-10 10:00:00')
insert into test values (2,1,'2009-8-10 13:00:00')
insert into test values (2,2,'2009-8-10 14:00:00')
insert into test values (2,3,'2009-8-10 20:00:00')
insert into test values (2,4,'2009-8-10 18:00:00')
вывод, что я хочу ниже
shipment_id start end
----------- ----- ---
1 8:00 10:00
2 13:00 18:00
мне нужно, чтобы занять время от min(stop)
строки для каждой партии, и время от max(stop)
строки и место в начале/конце соответственно. Я знаю, что это можно сделать с несколькими запросами довольно легко, но я смотрю, может ли один запрос выбора сделать это.
спасибо!
времена не всегда могут быть в последовательном порядке ... я забыл показать, что в моем примере ... обновил мой вопрос, чтобы отразить это. – thomas
это работает. Благодарю. я знал, что это можно сделать с несколькими выборами, но пурист во мне искал альтернативы. – thomas
@thomas: Если вы создадите кластерный индекс на shipment_id и stop_seq, влияние выполнения подзапросов будет незначительным, потому что все предложения являются ориентируемыми и будут выполнять поиск индексов. – MyItchyChin