首页 > 解决方案 > 如果它们存储在数组中,如何获取前 5 个关键字

问题描述

使用 PostgreSQL,我需要找到存储在数组字段中的前 5 个搜索关键字(关键字文本 [] NULL)。
如果它不是一个数组,我可以简单地使用:

     select count(*), keyword
     from search_table
     group by keyword

我的关键字存储在数组字段中,数组对我来说很重要。任何帮助将不胜感激。

标签: sqlarrayspostgresql

解决方案


您可以使用 unnest() 将数组转换为表格。

SELECT kw, count(*) FROM (SELECT unnest(keywords) kw FROM thetable) AS x GROUP BY kw

推荐阅读