Если предположить, что информационные значения появляются в возрастающем порядке, то я считаю, что это то, что вы ищете:
select min(info) as info, min(registration) as registration
from log
group by log, cast(registration as date);
Или просто используйте row_number()
, чтобы избежать такого предположения:
with data as (
select *,
row_number() over
(partition by log, cast(registration as date) order by registration) as rn
from log
)
select * from data where rn = 1;