Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

xác định bộ từ được sử dụng nhiều nhất php mysql

Đúng vậy, điều này chạy như một con chó và bị giới hạn trong việc làm việc với một dấu phân cách duy nhất, nhưng hy vọng sẽ cung cấp cho bạn ý tưởng.

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ều này phụ thuộc vào việc có một bảng được gọi là số nguyên với một cột duy nhất được gọi là i với 10 hàng với các giá trị từ 0 đến 9. Nó có thể chứa tới ~ 1000 từ nhưng có thể dễ dàng thay đổi để đối phó với nhiều hơn (nhưng sẽ chậm hơn nữa).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phát hiện các giá trị trùng lặp trong tương lai khi lặp qua các kết quả MySQL trong PHP

  2. In kết quả truy vấn trong bảng

  3. Truy vấn LIKE trong MySQL với dấu gạch dưới

  4. Giá trị mặc định cấp Django DB cho một cột

  5. MySQL - Tại sao các quy tắc COLLATION bị bỏ qua bởi toán tử LIKE đối với ký tự ß trong tiếng Đức