SQL Functions: Calculate difference between columns of current and previous/next row
Hi friends, How to calculate difference between columns of current and previous/next row? Let's say, you want to monitor how often products are sold from your store. i.e. You want difference between current and previous SELL_DATE then you can write query as follows: SELECT TO_CHAR(SELL_DATE, 'DD-MON-YYYY HH24:MI:SS'), TO_CHAR(LAG(SELL_DATE) OVER (ORDER BY SELL_DATE), 'DD-MON-YYYY HH24:MI:SS') AS SELL_DATE_PREV, (SELL_DATE - LAG(SELL_DATE) OVER (ORDER BY SELL_DATE)) * 24 * 60 * 60 AS DIFF_IN_SECONDS FROM PRODUCT_SALES ORDER BY SELL_DATE DESC; More Info: Oracle - Base : Lag Lead Analytic Functions Regards, Sohil Bhavsar