आप सभी संभावित संख्यात्मक मानों की सूची के बिना अनुपलब्ध पंक्तियों को LEFT JOIN
पर वापस नहीं कर सकते खिलाफ।
यह क्वेरी (जो ऐसा महसूस करती है कि यह बेहतर/मजबूत/तेज हो सकती है, लेकिन यह काम करती है) आपको अंतराल ढूंढेगी:
set @last_prefix = null;
set @last_value = null;
select result from (
select @last_prefix, @last_value, name,
@prefix := substring(name,1,3) as prefix,
@value := substring(name,4) as value,
case when @prefix = @last_prefix and @value != @last_value +1
then concat ("gap from ", @prefix, ": ", @last_value+1, " to ", @value-1)
else "ok" end as result,
@last_prefix := @prefix, @last_value := @value
from t20120921
) foo
where result != "ok";