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

Menghitung kemunculan kata dalam kolom tabel

@Elad Meidar, saya suka pertanyaan Anda dan saya menemukan solusi:

SELECT SUM(total_count) as total, value
FROM (

SELECT count(*) AS total_count, REPLACE(REPLACE(REPLACE(x.value,'?',''),'.',''),'!','') as value
FROM (
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(t.sentence, ' ', n.n), ' ', -1) value
  FROM table_name t CROSS JOIN 
(
   SELECT a.N + b.N * 10 + 1 n
     FROM 
    (SELECT 0 AS N UNION ALL SELECT 1 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) a
   ,(SELECT 0 AS N UNION ALL SELECT 1 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) b
    ORDER BY n
) n
 WHERE n.n <= 1 + (LENGTH(t.sentence) - LENGTH(REPLACE(t.sentence, ' ', '')))
 ORDER BY value

) AS x
GROUP BY x.value

) AS y
GROUP BY value

Berikut adalah biola yang berfungsi penuh:http://sqlfiddle.com/#!2/17481a/ 1

Pertama, kami melakukan kueri untuk mengekstrak semua kata seperti yang dijelaskan di sini oleh @peterm(ikuti instruksinya jika Anda ingin menyesuaikan jumlah total kata yang diproses). Kemudian kami mengubahnya menjadi sub-kueri dan kemudian kami COUNT dan GROUP BY nilai setiap kata, lalu buat kueri lain di atasnya ke GROUP BY bukan kata-kata yang dikelompokkan kasus-kasus di mana tanda-tanda yang menyertai mungkin ada. yaitu:halo =halo! dengan REPLACE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apa cara yang tepat untuk mengonversi antara datetime mysql dan stempel waktu python?

  2. Replikasi Microsoft SQL ke database lain

  3. Bagaimana saya bisa menulis ulang kueri ini untuk menghindari kesalahan:Anda tidak dapat menentukan tabel target untuk pembaruan dalam klausa FROM

  4. Bagaimana saya bisa menjalankan banyak kueri dalam satu halaman?

  5. Bagaimana cara memperbarui data mysql secara massal dengan satu permintaan?