Tag: 分组

rails sum多个字段

我试图在rails中做这个假设简单的操作: self.timesheets.select(“sum(total) as total, sum(quantity) as quantity”).first where self is a project 当我在控制台模式下执行它时,它可以工作,但它呈现3列: [#] 当我在应用程序中运行它时,我收到此错误消息: PG::GroupingError – ERROR: column “timesheets.id” must appear in the GROUP BY clause or be used in an aggregate function LINE 1: …” WHERE “timesheets”.”project_id” = $1 ORDER BY “timesheet… ^ : activerecord (4.0.0) lib/active_record/connection_adapters/postgresql_adapter.rb:811:in `prepare_statement’ activerecord (4.0.0) lib/active_record/connection_adapters/postgresql_adapter.rb:772:in `exec_cache’ schema_plus […]

RAILS有GROUP BY … WITH ROLLUP查询吗?

GROUP BY …使用ROLLUP是sql中的一个很酷的function。 Rails是否支持ROLLUP? 我该怎么写这样的查询, .group(‘column1, column2,….’)

Rails和Postgresql:如何按小时分组查询?

如何在Postgres&Rails中按小时分组? 我已阅读了不少SO答案,但我收到了错误。 这在按日期分组时有效: Model.group(“date(updated_at)”).count 然后我尝试了以下一小时,但他们没有工作: Model.group(“hour(updated_at)”).count Model.group(“date_format(updated_at, ‘%H’)”).count Model.group(“extract(hour from updated_at)”).count 一旦我找到了需要更新的特定时间,我将如何获得那些小时的模型? 即: Model.where(“hour(updated_at) = ?”, 5)

Rails has_many关联计数子行

什么是有效抓取父表的所有行的“轨道方式”以及每行的子节点数? 我不想使用counter_cache因为我想根据某些时间条件运行这些计数。 陈词滥调的博客示例:文章表。 每篇文章都有0条或更多条评论。 我希望能够在过去的一小时,一天,一周内提取每篇文章的评论数量。 但是,理想情况下,我不想迭代列表并为每篇文章单独执行sql调用,也不想使用:include来预取所有数据并在应用服务器上处理它。 我想运行一个SQL语句并获得一个包含所有信息的结果集。 我知道我可以硬编码完整的SQL,也许可以使用.find并只设置:joins , :group和:conditions参数……但我想知道是否有“更好”的方式…又名“铁路方式” 提前致谢

在Ruby中分组正则表达式

示范文本 outline: 4 0 corner: 1 347980000 -2540000 0 corner: 2 347980000 -20320000 0 corner: 3 482600000 -20320000 0 corner: 4 482600000 -2540000 0 outline: 4 1 corner: 1 0 -2540000 0 corner: 2 345440000 -2540000 0 corner: 3 345440000 -20320000 0 corner: 4 0 -20320000 0 outline: 8 2 corner: 1 0 0 0 […]

可枚举的ruby上的聚合

我有一个Salary对象数组,例如: Person 1, Job 1, 400 Person 1, Job 1, 300 Person 1, Job 1, 300 Person 1, Job 2, 500 我想聚合它们并对数字求和,这样结果将是: Person 1, Job 1, 1000 Person 1, Job 2, 500 我该怎么办呢?

Ruby group_by对象?

我有一个数组或不同的对象,我想按对象分组。 例如 => [#, #, #, #] all.size => 4 我试过了 all.group_by(Object) 但这没有用……关于如何在一个数组中分组对象的任何想法?

按天分组Mongoid对象

在控制台中玩了很多次之后,我想出了这种方法,可以在它们发生的那一天将类似activerecord的(Mongoid)对象分组。 我不确定这是实现这一目标的最佳方法,但它确实有效。 有没有人有更好的建议,或者这是一个好方法吗? #events is an array of activerecord-like objects that include a time attribute events.map{ |event| # convert events array into an array of hashes with the day of the month and the event { :number => event.time.day, :event => event } }.reduce({}){ |memo,day| # convert this into a hash with arrays of events […]

艺术家Group_by嵌套属性Order_date

我创建了一个运作良好的电子商务平台,会员可以在这里购买歌曲。 一切正常,但我想按月分组我的所有订单。 目前,我可以将每个专辑与其相应的艺术家和每个有序歌曲分组到相应的专辑。 但现在我想按月分组订单。 如何通过订单表中的order_date对艺术家进行分组,以便所有内容按月组织? Ex. of what I’ve like to do Month 1 Orders Artist1 Album1 ###List of Albums Corresponding to an Artist –Song1 (10 0rders) –Song3 (5 Orders) Album2 –Song5 (2 Orders) ###Ordered Songs Corresponding to an Album Month 2 Orders Artist2 Album1 –Song2 (1 Order) Artist3 Album3 –Song5 (1 Order) 楷模 class […]

智能地生成组合的组合

假设我有一个30个学生的class级,并希望生成一种可能的方式,将它们划分为5个组(顺序无关紧要)。 我知道如何找到学生的所有组合,分别组成一个小组( http://www.merriampark.com/comb.htm )。 通过使用该迭代器和一些递归,我可以找到可能的组合组合的PERMUTATIONS。 但是,选择组的顺序不相关,我希望最小化执行时间。 那么如何找到可能组的独特组合? 上面的算法使用词典排序来避免生成重复的组合……有没有办法可以在组上而不是在对象上使用这个想法? 我很了解Ruby,Java / Python也不太了解。 提前感谢您的任何建议!