Postgres hstore in rails-如何使用相同的密钥汇总多个记录的所有值

时间:2013-06-24 16:04:58

标签: ruby-on-rails-3 postgresql-9.2 hstore

在rails中查找...如何汇总具有匹配键的多个记录中的所有值?

例如,我有一个航班和值班日志,用户可以存储飞行或工作的时间。我正在使用hstore存储这些k / v对。每天将创建一个职责日志。如果用户日复一日地在同一架飞机上记录时间......我需要能够做到这样的事情:

  Dutylog.where(user_id: current_user).where("(properties -> '206B')::float > 0.0")
        # properties is the hstore hash

这会找到所有正确的记录......但是,我无法总结所有值为“206B”的值。

你会怎么做?

1 个答案:

答案 0 :(得分:4)

它在文档中......但是文档并不容易理解......至少对我而言。这是一个解决方案:

 Dutylog.where("(properties -> '206B')::float > 0.0").sum("(properties -> '206B')::float")