あなたの例が最初の行で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
greatest
を使用する /leastおよび
あなたの例が最初の行で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
greatest
を使用する /leastおよび