Подсчет встречаемостей слова в столбце таблицы

Можно сделать это с командой наклонной черты psql:

 \d myTable describe table

Это также работает на другие объекты:

 \d myView describe view
 \d myIndex describe index
 \d mySequence describe sequence

Источник: faqs.org

5
задан Brian Tompsett - 汤莱恩 29 September 2016 в 21:05
поделиться

4 ответа

Я думаю, вы слишком много делаете с SQL, если все слова находятся в одном поле каждой строки. Я рекомендую выполнять любую обработку / подсчет текста с вашим приложением после того, как вы возьмете текстовые поля из базы данных.

-1
ответ дан 15 December 2019 в 06:32
поделиться

Я бы рекомендовал вообще не делать этого в SQL. Вы загружаете БД чем-то, что у нее не получается. Выбор группы строк и вычисление частоты на стороне приложения будет проще реализовать, будет работать быстрее и будет поддерживаться с меньшим количеством проблем / головной боли.

1
ответ дан 15 December 2019 в 06:32
поделиться

Я думаю, вам следует делать это как индексацию, с дополнительной таблицей. Всякий раз, когда вы создаете, обновляете или удаляете строку в исходной таблице, вам следует обновить таблицу индексации. В этой индексной таблице должны быть столбцы: слово и количество вхождений.

0
ответ дан 15 December 2019 в 06:32
поделиться

Вы можете попробовать этот извращенный способ:

SELECT 
(LENGTH(field) - LENGTH(REPLACE(field, 'word', ''))) / LENGTH('word') AS `count`
ORDER BY `count` DESC

Этот запрос может быть очень медленным. Кроме того, это выглядит довольно некрасиво.

0
ответ дан 15 December 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: