Разница во времени с предыдущей строкой

poiuytrewq
Дата: 12.01.2013 23:50:34
Доброй ночи,

есть таблица:

CREATE TABLE IF NOT EXISTS `table` (
  `user` varchar(12) NOT NULL,
  `time` datetime NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `table` (`user`, `time`) VALUES
('Michael', '2013-01-12 23:14:11'),
('Michael', '2013-01-13 00:04:41'),
('Jane', '2013-01-13 01:01:15'),
('Bob', '2013-01-13 01:24:44'),
('Jane', '2013-01-13 01:44:12');


Как можно выгрести отсюда данные, user, time и
UNIX_TIMESTAMP(time) текущей записи МИНУС UNIX_TIMESTAMP(time) предыдущей
т.е. получить разницу в секундах между соседними строками,
собственно сам вывод должен сортироваться по убыванию времени, т.е. `time` DESC
?
javajdbc
Дата: 13.01.2013 00:11:38
poiuytrewq,

буквально 3 темы до вас есть почти
аналогичная тема. Там все рассказано.
poiuytrewq
Дата: 13.01.2013 10:21:16
javajdbc
poiuytrewq,

буквально 3 темы до вас есть почти
аналогичная тема. Там все рассказано.


Я нашел одну тему, но там есть поле с автоинкрементом, а в данной задаче его нет.
Нельзя ли ссылку на тему?
qwerty112
Дата: 13.01.2013 14:53:07
poiuytrewq
javajdbc
poiuytrewq,

буквально 3 темы до вас есть почти
аналогичная тема. Там все рассказано.


Я нашел одну тему, но там есть поле с автоинкрементом, а в данной задаче его нет.
Нельзя ли ссылку на тему?

"поле с автоинкрементом", точнее - нумерацию, можно добавить прямо в запросе - http://www.sql.ru/forum/actualthread.aspx?tid=684431

или так, если устроит с быстродействием
select `user`, `time`, UNIX_TIMESTAMP(time) - UNIX_TIMESTAMP(prev_time) as xz
from

(select t1.`user`, t1.`time`,
(select max(t2.`time`) from `table` t2 where t1.`user`=t2.`user` and t1.`time`>t2.`time`) as prev_time
from `table` t1) a