Моя таблица принимает временную метку всякий раз, когда изменяется статус пользователя. Каждый день он начинается в «а» и всегда прогрессирует a-> b-> c-> d-> e -> ...
Итак, я пытаюсь найти общее время между «a» и «b» плюс время между «c» и «d» плюс «e» и «f» и так далее.
Это работает, чтобы получить время между двумя состояниями:
SELECT cast(us2.status_timestamp as date) - cast(us1.status_timestamp as date)
FROM user_status US1, user_status US2
WHERE US1.statID = 'a' and us2.statID = 'b'
AND US1.user_ID = US2.user_ID
AND US1.work_date = US2.work_date
Есть ли способ сделать это, не выполняя этот оператор выбора несколько раз, а затем добавляя результаты? Я чувствую, что есть более быстрый путь.
Примечание: использование жабы для Oracle