sql - 如果它们存储在数组中,如何获取前 5 个关键字
问题描述
使用 PostgreSQL,我需要找到存储在数组字段中的前 5 个搜索关键字(关键字文本 [] NULL)。
如果它不是一个数组,我可以简单地使用:
select count(*), keyword
from search_table
group by keyword
我的关键字存储在数组字段中,数组对我来说很重要。任何帮助将不胜感激。
解决方案
您可以使用 unnest() 将数组转换为表格。
SELECT kw, count(*) FROM (SELECT unnest(keywords) kw FROM thetable) AS x GROUP BY kw
推荐阅读
- node.js - 将 module.exports[something] 转换为 es6 语法
- node.js - MemberCounter 输出错误的数字
- r - 为什么我不需要 results = "asis" 在 Rmarkdown 中逐字嵌入块输出?
- dpdk - 如何在没有地图的情况下在 dpdk 上使用 ebpf
- java - 从字符串数组中提取列
- swiftui - 在 SwiftUI 中使用 DatePicker 的 ObservableObject
- django - Django 是否支持多语言查询?
- firebase - 尽管安全规则设置正确,但 Firestore 写入不起作用
- python - 在 Keras 中将 LSTM 层添加到模型时出错
- c - 显示 VSCode 中所有文件的错误