Функция getDuration подсчитывает время между началом (поле started) первого указанного события и окончанием (поле ended) последнего указанного события.
getDuration('событие1',порядковый_номер_события1,'событие2',порядковый_номер_события2)
событие1 — событие, откуда начинается расчет времени прохождения
'' — если оставить кавычки пустыми, а в поле порядковый_номер_события1 написать 0, то время будет считаться от начала экземпляра процесса.порядковый_номер_события1 — номер появления первого события. Например:
событие2 — событие, когда завершается расчет времени прохождения.
'' — если оставить кавычки пустыми, а в порядковый_номер_события2 написать 0, то время будет считаться до конца экземпляра процесса.порядковый_номер_события2 — номер появления второго события. Например:
Запрос:
SELECT
extId AS "ID Процесса",
getDuration('',0,'С',-1) as "Длительность"
from
process
group by "ID Процесса"
| extId | name | started | ended |
|---|---|---|---|
| 1 | A | 1627775768 | 1627775769 |
| 1 | B | 1627776077 | 1627776078 |
| 1 | C | 1627776079 | 1627776080 |
| 1 | C | 1627781627 | 1627814434 |
| 1 | D | 1627814604 | 1627814605 |
| ID Процесса | Длительность |
|---|---|
| 1 | 38666 |