代わりにLAG/LEADを使用できますか?
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
LEADは、現在の行に対して次のCreateDT(次に、「同じコードを持ち、現在の行のCreateDTの後に時間的に最初に大きいCreateDtを持つ行」によって定義される)を選択します。 DATEDIFFは秒単位で差を取得します(適切な時間枠を選択してください)。ウィンドウ関数LEADはMAX内に表示できないため、サブクエリ(または必要に応じてCTE)でラップする必要があります
もちろん、特に有用ではないかもしれません。おそらくコードも追加してください:
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