Это проблема с пробелами и островками: вы хотите отображать строки, не смежные с предыдущей (то есть начало каждого острова).
Вот подход с использованием оконных функций:
select t.*
from (
select
t.*,
lag(time) over(order by time) lag_time
from mytable t
) t
where
lag_time is null
or time > datetime(lag_time, '+ 1 second')
lag()
возвращает time
в предыдущей строке. Затем мы фильтруем строки, которые имеют разницу более одной секунды с предыдущей строкой (или для которых нет предыдущей записи).