--- /dev/null
+drop table if exists adjustment;
+drop table if exists counter;
+create table adjustment (timestamp datetime, value int);
+create table counter (timestamp datetime, value int);
+
+insert into adjustment values ('2016-01-07 00:00:00', 10);
+insert into counter values ('2016-01-07 00:00:01', 5);
+insert into counter values ('2016-01-07 00:00:02', 10);
+insert into counter values ('2016-01-07 00:00:03', 15);
+insert into adjustment values ('2016-01-07 00:00:04', 30);
+insert into counter values ('2016-01-07 00:00:05', 0);
+insert into counter values ('2016-01-07 00:00:06', 5);
+insert into counter values ('2016-01-07 00:00:07', 10);
+
+select timestamp, value+adj as value from
+ (select c.timestamp timestamp, c.value value,
+ (select value from adjustment a
+ where a.timestamp <= c.timestamp
+ order by timestamp desc limit 1) adj from counter c
+ ) t;
+