Вы можете получить десятиминутные интервалы, отформатировав дату и время в что-то вроде '2019-09-20 09:13' и удалив последнюю цифру.
select
vehicle_no,
location,
substr(to_char(sys_time, 'yyyy-mm-dd hh24:mi'), 1, 15) || 'x' as time,
min(temp) as min_temp
from vehicle_mst
where company_id = 100
and sys_time >= date '2019-09-20' and sys_time < date '2019-09-21'
group by
vehicle_no,
location,
substr(to_char(sys_time, 'yyyy-mm-dd hh24:mi'), 1, 15)
order by
vehicle_no,
location,
substr(to_char(sys_time, 'yyyy-mm-dd hh24:mi'), 1, 15);
Это даст вам 20 сентября 2019 года за десятьминутные интервалы.
Если вы хотите это для каждого транспортного средства, и для транспортного средства могут быть различные местоположения, вам придется удалить location
из запроса.
Если вы хотите это для одноготолько для транспортного средства, поместите его в предложение where (и затем вы можете удалить vehicle_no
из группы по пунктам by и order by).