Wenn Sie es fest codieren möchten:
select EntityID, Situation
from Entity
where Situation like '%the the%'
or Situation like '%of of%'
or Situation like '%is is%'
Aktualisierung: Hier ist ein etwas weniger hartcodierter Ansatz:
select EntityID, Situation, right(s2, diff * 2 + 1) as RepeatedWords
from (
select EntityID, Situation, WordNumber,
substring_index(Situation, ' ', WordNumber) s1,
substring_index(Situation, ' ', WordNumber + 1) s2,
length(substring_index(Situation, ' ', WordNumber + 1)) - length(substring_index(Situation, ' ', WordNumber)) -1 diff
from `Entity` e
inner join (
select 1 as WordNumber
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9
union all
select 10
) n
) a
where right(s1, diff) = right(s2, diff)
and diff > 0
order by EntityID, WordNumber
Es sucht bis zu den ersten 10 Wörtern oder so und behandelt Groß- und Kleinschreibung, Satzzeichen oder mehrere Leerzeichen nicht richtig, aber es sollte Ihnen eine Vorstellung davon geben, wie Sie vorgehen können. Wenn Sie möchten, dass es längere Zeichenfolgen verarbeitet, fügen Sie einfach die UNION ALL-Anweisungen hinzu.