with T1 as ( SELECT ROW_NUMBER() over (PARTITION By MachineCode order by ABS(DATEDIFF(MILLISECOND,'2019-12-10 13:21:32.162' ,[Time]))) as rowid,* FROM ...
with
T1 as (
SELECT ROW_NUMBER()
over
(PARTITION By MachineCode orderbyABS(DATEDIFF(MILLISECOND,‘2019-12-10 13:21:32.162‘ ,[Time]))) as rowid,*FROM EnergyConsumptions
)
select*from T1 where rowid=1