Oto Oracle 9i+, wykorzystujący funkcję LAG aby uzyskać poprzednią wartość znacznika czasu bez konieczności samodzielnego dołączania:
SELECT t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp) AS diff
FROM YOUR_TABLE t
...ale ponieważ liczby całkowite reprezentują liczbę dni w wyniku, różnica mniejsza niż 24 godziny będzie ułamkiem. Ponadto LAG zwróci NULL, jeśli nie ma wcześniejszej wartości -- tak samo, jak przy użyciu OUTER JOIN.
Aby zobaczyć minuty, użyj funkcji ZAOKR:
SELECT ROUND((t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp)) *1440) AS diff_in_minutes
FROM YOUR_TABLE t