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

MySql:Hitung berapa kali kata-kata muncul di kolom

Berikut adalah solusi hanya menggunakan kueri:

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. Cara memperbarui versi mysql di xampp (kesalahan dengan innodb_additional_mem_pool_size)

  2. Bagaimana cara melindungi forum saya dari spam?

  3. (penyedia:Penyedia Pipa Bernama, kesalahan:40 - Tidak dapat membuka koneksi ke SQL Server)

  4. Menyortir kueri MySQL dengan ORDER BY atau dengan fungsi sortir PHP

  5. Bergabunglah dengan beberapa kolom dari satu tabel ke kolom tunggal dari tabel lain