In MySQL 5.6 ...
create table tt (
data varchar(20)
);
insert into tt values ('B C D E');
insert into tt values ('A B');
insert into tt values ('F G');
insert into tt values ('C D E F G');
insert into tt values ('X');
insert into tt values ('E D C B');
insert into tt values ('B A');
insert into tt values ('G F');
insert into tt values ('G F E D C');
select data,length(data) from tt where 'A B C D E F G' rlike data;
| data | length(data) |
|-----------|--------------|
| B C D E | 7 |
| A B | 3 |
| F G | 3 |
| C D E F G | 9 |
Added query to count maximum number of spaces (and thus maximum number of units matched)
select data,max(length(data)-length(replace(data,' ',''))+1) num_units_matched
from tt
where 'A B C X D E F G' rlike data
group by data
order by 2 desc
limit 1;
| data | num_units_matched |
|-----------|-------------------|
| A B | 2 |