PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

SQL:Temukan string umum terpanjang di antara baris

Jika Anda setuju dengan mendapatkan kata yang paling sering muncul di antara semua baris (kata paling umum yang dipisahkan oleh spasi), Anda dapat menggunakan:

select word, count(distinct rn) as num_rows
from(
select unnest(string_to_array(col, ' ')) as word,
       row_number() over(order by col) as rn
from tbl
) x
group by word
order by num_rows desc

Biola: http://sqlfiddle.com/#!15/bc803/9/0

Perhatikan bahwa ini menemukan kata apple di antara 4 baris, bukan 5. Ini karena APPLE123 adalah satu kata, sedangkan APPLE 123 akan menjadi dua kata, salah satunya adalah APPLE, dan akan dihitung, tetapi tidak.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus PostgreSQL dengan gabungan dalam

  2. Pemesanan postgres karakter UTF-8

  3. SQLAlchemy SELECT WITH klausa/pernyataan (pgsql)

  4. Anotasi Hibernasi - UniqueConstraint Tidak Peka Huruf Besar

  5. PHP/PostgreSQL:periksa apakah pernyataan yang disiapkan sudah ada