Jika Anda ingin membuat kode keras:
select EntityID, Situation
from Entity
where Situation like '%the the%'
or Situation like '%of of%'
or Situation like '%is is%'
Pembaruan: Berikut ini pendekatan yang tidak terlalu sulit:
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
Ini akan mencari hingga 10 kata pertama atau lebih, dan tidak menangani kasus, tanda baca, atau banyak spasi dengan benar, tetapi itu akan memberi Anda gambaran tentang pendekatan yang dapat Anda ambil. Jika Anda ingin menangani string yang lebih panjang, terus tambahkan ke pernyataan UNION ALL.