Toto je Oracle 9i+ využívající funkci LAG abyste získali předchozí hodnotu časového razítka, aniž byste se museli sami připojit:
SELECT t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp) AS diff
FROM YOUR_TABLE t
...ale protože celá čísla představují počet dní ve výsledku, bude rozdíl menší než 24 hodin zlomkem. LAG také vrátí NULL, pokud neexistuje žádná dřívější hodnota – stejně jako při použití OUTER JOIN.
Chcete-li zobrazit minuty, použijte funkci ROUND:
SELECT ROUND((t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp)) *1440) AS diff_in_minutes
FROM YOUR_TABLE t