Предположим, у меня есть столбец со словами:
orange grape orange orange apple orange grape banana
Как выполнить запрос, чтобы получить 10 лучших слов и их количество?
SELECT word, COUNT(*) AS n FROM `table` GROUP BY word ORDER BY COUNT(*) DESC LIMIT 10
SELECT word, COUNT(*) word_cnt FROM your_table GROUP BY word ORDER BY COUNT(*) DESC LIMIT 10
GROUP BY группируется по значениям word, ORDER BY COUNT(*) DESC получает сначала строки с наибольшим количеством, а LIMIT 10 возвращает только первые 10 строк.
GROUP BY
word
ORDER BY COUNT(*) DESC
LIMIT 10