sql - 在 postgres 中使用 Hstore 查找最常见的键值对

标签 sql postgresql hstore

我正在 postgres 的 hstore 列中收集项目和版本号的列表。我有兴趣查看 100 个最常见的键值对。例如,如果这是我的数据集:

"foo"=> "22",<br/> "foo"=> "33",<br/> "bar"=> "55",<br/> "baz"=> "77",<br/> "foo"=> "22"

我想知道 "foo"=>"22"是我的数据库中最常见的键/值对。为了方便讨论这个问题,假设表名是widgets hstore 列名称是 items .

select ??? from widgets;

是否可以仅使用 SQL 获取顶级键值对列表?

最佳答案

哦,这很简单。这里:

SELECT key, count(*) FROM
  (SELECT (each(h)).key FROM reports) 
    AS stat
GROUP BY key
ORDER BY count DESC, key
LIMIT 100;

关于sql - 在 postgres 中使用 Hstore 查找最常见的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134538/

相关文章:

database - 在 PL/pgSQL 中使用变量存储查询结果

django - 在 Postgresql 中限制数据库

java - 如何在 Java 中绑定(bind) hstore[] 值

SQL:将变量值与多个列匹配并选择匹配的列名

java - JPQL:OR 不会按预期工作

postgresql - Postgres 删除排除约束

java - Postgres hstore 转换工作错误

SQL 查询Where 子句为空或匹配(仅返回1)?

sql - 为什么别名放在postgresql中的 'AS'中的 'WITH subquery'关键字前面

mySQL 联合计算行