ठीक है, यह कुत्ते की तरह चलता है और एक सीमांकक के साथ काम करने तक सीमित है, लेकिन उम्मीद है कि आपको एक विचार मिलेगा।
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
यह 0 से 9 के मान के साथ 10 पंक्तियों के साथ i नामक एक कॉलम के साथ पूर्णांक नामक एक तालिका होने पर निर्भर करता है। यह ~ 1000 शब्दों तक का मुकाबला करता है लेकिन अधिक से निपटने के लिए आसानी से बदला जा सकता है (लेकिन और भी धीमा हो जाएगा)।