mysql - 使用 ActiveRecord 在遗留数据库中按日期对日期时间列进行分组

标签 mysql ruby rails-activerecord

我开始在 Rails 之外使用 ActiveRecord 来处理我无法更改的遗留 MySQL 数据库。我想按日期对表的行进行分组,但 AR 需要整个日期时间字段,而不仅仅是日期部分。到目前为止我尝试过的是:

raw_data = Order.group(:date_add).sum(:total_products).to_a

有什么想法吗?

谢谢

最佳答案

您可以按 SQL 表达式而不是仅按列进行分组,因此编写一个返回日期时间日期的 SQL 表达式并按该表达式分组:

raw_data = Order.group("date(date_add)").sum(:total_products).to_a

关于mysql - 使用 ActiveRecord 在遗留数据库中按日期对日期时间列进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815878/

相关文章:

mysql - PyCharm 无法使用 peewee 连接到 MySQLDatabase

mysql - 触发器不适用于长文本字段

ruby - 如何将 array.inspect 的输出解析回数组

ruby - 有什么可以用 Ruby 完成而不能用 C# 4.0 完成的?

ruby-on-rails - Rails 添加两个具有事件记录结果的范围

mysql - 按带有计数的查询问题进行分组

PHP MYSQL 死循环

ruby - 正则表达式拆分空白但不转义空白

ruby-on-rails - 我们如何获取 ActiveRecord 事务中创建/更新/回滚记录的数量

mysql - 基于Rails Active Record中两列的组合进行查询