Subquerijem uzmi datum sledećeg hronološkog sloga, time dobijaš i razliku.
E onda, ceo gornji query posmatraš kao subquery koji sortiraš po razlici datuma.
U MySQL-u:
CREATE TABLE `log_events` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`event_time` TIMESTAMP NOT NULL ,
`description` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM;
SELECT le1.event_time, (SELECT MIN(le4.event_time) FROM log_events AS le4 WHERE le4.event_time > le1.event_time LIMIT 1) AS next_event_time, difference FROM
(SELECT le2.event_time, DATEDIFF((SELECT MIN(le3.event_time) FROM log_events AS le3 WHERE le3.event_time > le2.event_time LIMIT 1), le2.event_time) AS difference FROM log_events AS le2) AS le1
ORDER BY le1.difference DESC
LIMIT 1
Ne znam Postgres, ali valjda ćeš skontati iz gornjeg primera :)
"Common sense is not so common." - Voltaire