我正在开发一个包含列表类型报告的 Ruby-on-Rails 应用程序。该表中的两列是事务表的聚合。
所以假设我们有这两个表:
**items**
id
name
group
price
**transactions**
id
item_id
type
date
qty
这两个表与 transactions 表中的 item_id 相连。
现在我想在一个表的项目表中显示一组行,并在该表中有两个计算列:
计算的第 1 列(迷你图数据):
过去 12 个月 type="actuals" 的项目交易的迷你图。来自数据库的结果应该是包含每个月的汇总数量的文本,以逗号分隔。示例:15,20,0,12,44,33,6,4,33,23,11,65
计算的第 2 列(总销售额 600 万):
商品的总数量乘以过去 6 个月的销售额。
所以结果将如何列如下:
Item name - Sparkline data - 6m total sale
所以结果可能有数千行,但可能会被分页。
所以问题是,在不牺牲太多性能的 Rails 模型中,最直接的方法是什么?尽管这是一个 ruby-on-rails 问题,但它可能包含更多的 sql 类型解决方案。