Para cada fila, busque una primera fila con LogDate más alto (posterior). Si la velocidad en esta fila es inferior a 10, cuente la diferencia de fechas entre la fecha de esta fila y la fecha de la fila siguiente; de lo contrario, coloque 0.
Una consulta que daría una lista de los valores contados de esta manera debería verse así:
SELECT ( SELECT IF( c1.speed <10, unix_timestamp( c2.LogDate ) - unix_timestamp( c1.logdate ) , 0 )
FROM car_log c2
WHERE c2.LogDate > c1.LogDate
LIMIT 1
) AS seconds_below_10
FROM car_log c1
Ahora solo es cuestión de resumirlo:
SELECT sum( seconds_below_10) FROM
( SELECT ( SELECT IF( c1.speed <10, unix_timestamp( c2.LogDate ) - unix_timestamp( c1.logdate ) , 0 )
FROM car_log c2
WHERE c2.LogDate > c1.LogDate
LIMIT 1
) AS seconds_below_10
FROM car_log c1 ) seconds_between_logs
Actualización después del comentario sobre agregar CarId:
Cuando tiene más de 1 automóvil, debe agregar una condición WHERE más dentro de la subconsulta dependiente (queremos el siguiente registro para ese automóvil exacto, no solo cualquier registro siguiente) y agrupar todo el conjunto de filas por CarId, posiblemente agregando dicho CarId a la selección para mostrar también.
SELECT sbl.carId, sum( sbl.seconds_below_10 ) as `seconds_with_speed_less_than_10` FROM
( SELECT c1.carId,
( SELECT IF( c1.speed <10, unix_timestamp( c2.LogDate ) - unix_timestamp( c1.logdate ) , 0 )
FROM car_log c2
WHERE c2.LogDate > c1.LogDate AND c2.carId = c1.carId
LIMIT 1 ) AS seconds_below_10
FROM car_log c1 ) sbl
GROUP BY sbl.carId
Vea un ejemplo en Sqlfiddle .