У меня есть таблица в Oracle 10g DB engine, которая содержит записи о сервисных операциях. Требование - рассчитать время обработки каждого запроса на обслуживание. Каждый запрос на обслуживание может генерировать несколько записей, каждый из которых представляет собой этап в этом процессе. Поэтому у меня есть стол со следующими столбцами:Как я могу группировать записи и выполнять вычисления между первой и последней записями в каждой группе с использованием Oracle SQL?
ID
CREATED_ON
SERVICE_OPERATION
RESULT
FK_SERVICE_REQUEST_ID
где последний столбец является идентификатором запросов на обслуживание.
Как рассчитать разницу между CREATED_ON
первой и последней записей в каждой группе, идентифицированной FK_SERVICE_REQUEST_ID
? Мне лучше просто:
SELECT FK_SERVICE_REQUEST_ID, CREATED_ON, SERVICE_OPERATION, RESULT FROM TABLE ORDER BY FK_SERVICE_REQUEST_ID, ID;
и сделать некоторые трюки в Excel? Если да, то как я могу добиться этого в Excel?
Что такое поле, которое определяет порядок записи, чтобы определить первые и последние записи? Мы заказываем Id, причем самым маленьким номером является «первая» запись, а наибольшее число - «последняя» запись? – Lock
Ну идентификатор должен быть довольно стабильным. Я не могу придумать сценарий, когда более поздний шаг с более поздней меткой времени будет сгенерирован с более низким идентификатором. – Max