Event: "in" connect VPN , "out" disconnect VPN
create table test(
Username text,
Date timestamp,
Event text
);
insert into test values
('Luis', to_timestamp('30/08/2022 1:00am', 'DD/MM/YYYY HH12:MIam'), 'in'),
('Maria', to_timestamp('30/08/2022 1:05am', 'DD/MM/YYYY HH12:MIam'), 'in'),
('Luis', to_timestamp('30/08/2022 1:30am', 'DD/MM/YYYY HH12:MIam'), 'out'),
('Jorge', to_timestamp('30/08/2022 1:50am', 'DD/MM/YYYY HH12:MIam'), 'in'),
('Carla', to_timestamp('30/08/2022 3:40am', 'DD/MM/YYYY HH12:MIam'), 'in'),
('Carla', to_timestamp('30/08/2022 4:30am', 'DD/MM/YYYY HH12:MIam'), 'out'),
('Maria', to_timestamp('30/08/2022 6:10am', 'DD/MM/YYYY HH12:MIam'), 'out'),
('Luis', to_timestamp('30/08/2022 7:00am', 'DD/MM/YYYY HH12:MIam'), 'in'),
('Luis', to_timestamp('30/08/2022 8:00am', 'DD/MM/YYYY HH12:MIam'), 'out');
select * from test;
| Username | Date | Event |
------------------------------------------------
| Luis | 30/08/2022 1:00am | in |
| Maria | 30/08/2022 1:05am | in |
| Luis | 30/08/2022 1:30am | out |
| Jorge | 30/08/2022 1:50am | in |
| Carla | 30/08/2022 3:40am | in |
| Carla | 30/08/2022 4:30am | out |
| Maria | 30/08/2022 6:10am | out |
| Luis | 30/08/2022 7:00am | in |
| Luis | 30/08/2022 8:00am | out |
I try to get:
| User | DateStartVPN | DateFinishVPN |
----
| Luis | 30/08/2022 1:00am | 30/08/2022 1:30am |
| Maria | 30/08/2022 1:05am | 30/08/2022 6:10am |
| Jorge | 30/08/2022 1:50am | 30/08/2022 5:30am |
| Carla | 30/08/2022 3:40am | 30/08/2022 4:30am |
| Luis | 30/08/2022 7:00am | 30/08/2022 8:00am |
I try something like
Select user,
date as DateStartVPN,
(select min(date) from table where date> date) DateFinishVPN as
from TABLE
where Event = 'in'
but I only get null