【问题标题】:PostgreSQL Hstore field - key contains stringPostgreSQL Hstore 字段 - 键包含字符串
【发布时间】:2020-09-17 09:45:19
【问题描述】:

我将 PostgreSQL 数据库中的 Hstore 数据与我的 Django 应用程序一起使用。
hstore 字段的密钥是通过该过程生成的,包含一个 10 位数字。值是十进制数字。

在我的 SQL 查询中,我执行以下操作来汇总特定键的条目:

SELECT
    SUM((entries->'0123456789')::numeric)
FROM
    public.appname_model
WHERE
    entries ? '0123456789';

是否可以汇总所有包含前 8 位数字的 hsore 条目数据,例如: entries ? '01234567%';

谢谢

【问题讨论】:

    标签: sql django postgresql


    【解决方案1】:

    假设您在每个entries 列中有多个行和多个值,使用each()sum() 扩展entriesregex

    with appname_model (id, entries) as (
     values (1, '01234=>1,01235=>2,01111=>3'::hstore),
            (2, '01234=>4,01235=>5,01111=>6'::hstore)
    )
    select sum(e.v::numeric)
      from appname_model
           cross join lateral each(entries) as e(k,v)
     where k ~ '^0123'
            
    ;
     sum 
    -----
      12
    (1 row)
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 2010-12-17
      • 2014-10-11
      • 2017-05-19
      • 1970-01-01
      相关资源
      最近更新 更多