Word frequencies from strings in Postgres?

后端 未结 3 970
长情又很酷
长情又很酷 2020-12-28 09:35

Is it possible to identify distinct words and a count for each, from fields containing text strings in Postgres?

3条回答
  •  滥情空心
    2020-12-28 10:05

    Something like this?

    SELECT some_pk, 
           regexp_split_to_table(some_column, '\s') as word
    FROM some_table
    

    Getting the distinct words is easy then:

    SELECT DISTINCT word
    FROM ( 
      SELECT regexp_split_to_table(some_column, '\s') as word
      FROM some_table
    ) t
    

    or getting the count for each word:

    SELECT word, count(*)
    FROM ( 
      SELECT regexp_split_to_table(some_column, '\s') as word
      FROM some_table
    ) t
    GROUP BY word
    

提交回复
热议问题