Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menemukan kata-kata berulang dari sel dalam SQL

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memberikan izin akses jarak jauh ke server mysql untuk pengguna?

  2. Wildfly 8.0.0 masalah mysql dengan sumber data

  3. buat tayangan slide gambar di dalam modal bootstrap secara dinamis menggunakan PHP

  4. Temukan apakah angka berada di antara dua angka di bidang yang berbeda dalam database MySQL

  5. node.js kumpulan mysql mulaiTransaksi &koneksi