Hyразница между датами в разных строках
моя проблема в том, что мне нужно среднее время между chargebegin & chargeend ряд (timestampserver), сгруппированные по stationname и connectornumber и день.
Основная проблема заключается в том, что я не могу использовать функцию Max oder Min, потому что несколько раз в таблице у меня одно и то же имя станции/connecternumber.
Так что на самом деле мне нужно выбрать первый заряд и найти следующий обвиняемый (тот, у которого одна и та же комбинация столбцов/соединителей, и min (id)> chargebegin.id), чтобы получить разницу.
Я пробовал много, но на самом деле я понятия не имею, как это сделать.
База данных PostgreSQL 9.2
Testdata:
create table datatable (
id int,
connectornumber int,
message varchar,
metercount int,
stationname varchar,
stationuser varchar,
timestampmessage varchar,
timestampserver timestamp,
authsource varchar
);
insert into datatable values (181,1,'chargebegin',4000,'100','FCSC','2012-10-10 16:39:10','2012-10-10 16:39:15.26');
insert into datatable values (182,1,'chargeend',4000,'100','FCSC','2012-10-10 16:39:17','2012-10-10 16:39:28.379');
insert into datatable values (184,1,'chargebegin',4000,'100','FCSC','2012-10-11 11:06:31','2012-10-11 11:06:44.981');
insert into datatable values (185,1,'chargeend',4000,'100','FCSC','2012-10-11 11:16:09','2012-10-11 11:16:10.669');
insert into datatable values (191,1,'chargebegin',4000,'100','MSISDN_100','2012-10-11 13:38:19','2012-10-11 13:38:26.583');
insert into datatable values (192,1,'chargeend',4000,'100','MSISDN_100','2012-10-11 13:38:53','2012-10-11 13:38:55.631');
insert into datatable values (219,1,'chargebegin',4000,'100','MSISDN_','2012-10-12 11:38:03','2012-10-12 11:38:29.029');
insert into datatable values (220,1,'chargeend',4000,'100','MSISDN_','2012-10-12 11:40:14','2012-10-12 11:40:18.635');
Возможно, вам стоит начать с определения таблицы, включая ключ (ключи) и возможные внешние ключи. – wildplasser