Ако примерът ви трябваше да казва 70 на първия ред, тогава
приемайки @range_start и @range_end като параметри на условието:
SELECT SUM( LEAST(@range_end, stop) - GREATEST(@range_start, start) )
FROM Table
WHERE @range_start < stop AND @range_end > start
като използвате най-добрия /least и функции за дата трябва да можете да получите това, от което се нуждаете, директно от типа на датата.