Mysql
 sql >> база данни >  >> RDS >> Mysql

определяне на най-използвания набор от думи php mysql

Да, това работи като куче и е ограничено до работа с един разделител, но се надяваме, че ще ви даде идея.

SELECT aWord, COUNT(*) AS WordOccuranceCount
FROM (SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(concat(SomeColumn, ' '), ' ', aCnt), ' ', -1) AS aWord
FROM SomeTable
CROSS JOIN (
SELECT a.i+b.i*10+c.i*100 + 1 AS aCnt
FROM integers a, integers b, integers c) Sub1
WHERE (LENGTH(SomeColumn) + 1 - LENGTH(REPLACE(SomeColumn, ' ', ''))) >= aCnt) Sub2
WHERE Sub2.aWord != ''
GROUP BY aWord
ORDER BY WordOccuranceCount DESC
LIMIT 10

Това разчита на наличието на таблица, наречена цели числа, с една колона, наречена i, с 10 реда със стойности от 0 до 9. Тя се справя с до ~1000 думи, но може лесно да бъде променена, за да се справи с повече (но ще се забави още повече).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL тригер за актуализиране на поле до стойността на id

  2. Увеличете колоните в laravel

  3. MYSQL Изберете от таблици въз основа на множество редове

  4. Начин за четене на таблични данни от Mysql към Pig

  5. Сигурност на базата данни - Архивно криптиране по време на транспорт и в покой