यह Oracle 9i+ है, जो LAG फ़ंक्शन का उपयोग कर रहा है। स्वयं शामिल होने की आवश्यकता के बिना पिछला टाइमस्टैम्प मान प्राप्त करने के लिए:
SELECT t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp) AS diff
FROM YOUR_TABLE t
...लेकिन क्योंकि पूर्ण संख्या परिणाम में दिनों की संख्या दर्शाती है, 24 घंटे से कम का अंतर एक भिन्न होगा। साथ ही, यदि पहले का कोई मान नहीं है तो LAG NULL लौटाएगा -- जैसे कि OUTER JOIN का उपयोग किया हो।
मिनट देखने के लिए, राउंड फ़ंक्शन का उपयोग करें:
SELECT ROUND((t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp)) *1440) AS diff_in_minutes
FROM YOUR_TABLE t