Podemos usar LAG/LEAD em vez disso?
SELECT MAX(diff_sec) FROM
(
SELECT
DATEDIFF(
SECOND,
CreateDT,
LEAD(CreateDT) OVER(PARTITION BY CODE ORDER BY CreateDT) --next row's createdt
) as diff_sec
FROM Occs
)x
O LEAD escolherá o próximo CreateDT (próximo definido por "a linha que tem o mesmo código e o primeiro CreateDt maior temporalmente após o CreateDT da linha atual") em relação à linha atual. DATEDIFF obtém a diferença em segundos (escolha um período de tempo adequado). Ele precisa ser encerrado em uma subconsulta (ou CTE, se você preferir) porque a função de janela LEAD não pode aparecer dentro de um MAX
Talvez não seja particularmente útil, é claro .. Talvez adicione o código também:
SELECT x.code, MAX(x.diff_sec) FROM
(
SELECT
code,
DATEDIFF(
SECOND,
CreateDT,
LEAD(CreateDT) OVER(PARTITION BY CODE ORDER BY CreateDT) --next row's createdt
) as diff_sec
FROM Occs
)x
GROUP BY x.code