Đây là Oracle 9i +, sử dụng hàm LAG để nhận giá trị dấu thời gian trước đó mà không cần phải tự tham gia:
SELECT t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp) AS diff
FROM YOUR_TABLE t
... nhưng vì các số nguyên đại diện cho số ngày trong kết quả, sự khác biệt dưới 24 giờ sẽ là một phần nhỏ. Ngoài ra, LAG sẽ trả về NULL nếu không có giá trị nào trước đó - giống như khi bạn sử dụng OUTER JOIN.
Để xem số phút, hãy sử dụng hàm ROUND:
SELECT ROUND((t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp)) *1440) AS diff_in_minutes
FROM YOUR_TABLE t